Mercurial > octave-nkf
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 ()); |