# HG changeset patch # User jwe # Date 862433884 0 # Node ID 5c285800ebe26568dddf1a030810de1ce3be7d29 # Parent 4e7bea116f244bee6e3dd3595db5eadbccd2d264 [project @ 1997-04-30 20:58:04 by jwe] Array-idx.h diff -r 4e7bea116f24 -r 5c285800ebe2 liboctave/Array2-idx.h --- a/liboctave/Array2-idx.h Wed Apr 30 20:57:48 1997 +0000 +++ b/liboctave/Array2-idx.h Wed Apr 30 20:58:04 1997 +0000 @@ -243,6 +243,9 @@ { idx++; new_nc--; + + if (idx == num_to_delete) + break; } if (new_nc > 0) @@ -253,7 +256,7 @@ idx = 0; for (int j = 0; j < nc; j++) { - if (j == idx_j.elem (idx)) + if (idx < num_to_delete && j == idx_j.elem (idx)) idx++; else { @@ -302,6 +305,9 @@ { idx++; new_nr--; + + if (idx == num_to_delete) + break; } if (new_nr > 0) @@ -312,7 +318,7 @@ idx = 0; for (int i = 0; i < nr; i++) { - if (i == idx_i.elem (idx)) + if (idx < num_to_delete && i == idx_i.elem (idx)) idx++; else { diff -r 4e7bea116f24 -r 5c285800ebe2 liboctave/ChangeLog --- a/liboctave/ChangeLog Wed Apr 30 20:57:48 1997 +0000 +++ b/liboctave/ChangeLog Wed Apr 30 20:58:04 1997 +0000 @@ -1,3 +1,9 @@ +Tue Apr 29 04:39:01 1997 John W. Eaton + + * Array2-idx.h (Array2::maybe_delete_elements): Prevent + out-of-bounds indexing of the index array. + * Array-idx.h (Array::maybe_delete_elements): Likewise. + Fri Mar 28 15:37:09 1997 John W. Eaton * LSODE.h (x_step_limit): New field.