comparison libinterp/octave-value/ov-base-diag.cc @ 16073:1c8234f0b642

Fix bounds-checking in diagonal matrices (bug #38357) * ov-base-diag.cc (octave_base_diag<DMT, MT>::do_index_op): Call checkelem instead of elem in the (scalar, scalar) indexing case. * index.tst: Add tests.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Wed, 20 Feb 2013 16:37:02 -0500
parents 049e8bbff782
children d63878346099
comparison
equal deleted inserted replaced
16072:ac672925fc98 16073:1c8234f0b642
107 idx_vector idx0 = idx(0).index_vector (); 107 idx_vector idx0 = idx(0).index_vector ();
108 idx_vector idx1 = idx(1).index_vector (); 108 idx_vector idx1 = idx(1).index_vector ();
109 109
110 if (idx0.is_scalar () && idx1.is_scalar ()) 110 if (idx0.is_scalar () && idx1.is_scalar ())
111 { 111 {
112 retval = matrix.elem (idx0(0), idx1(0)); 112 retval = matrix.checkelem (idx0(0), idx1(0));
113 } 113 }
114 else 114 else
115 { 115 {
116 octave_idx_type m = idx0.length (matrix.rows ()); 116 octave_idx_type m = idx0.length (matrix.rows ());
117 octave_idx_type n = idx1.length (matrix.columns ()); 117 octave_idx_type n = idx1.length (matrix.columns ());