diff liboctave/Sparse.cc @ 11311:3bddc4ea8141

Fix bug #31734 where certain indices caused sparse matrices to segfault.
author Rik <octave@nomad.inbox5.com>
date Fri, 03 Dec 2010 11:46:09 -0800
parents f7f26094021b
children 41866901ec62
line wrap: on
line diff
--- a/liboctave/Sparse.cc	Fri Dec 03 07:39:18 2010 -0500
+++ b/liboctave/Sparse.cc	Fri Dec 03 11:46:09 2010 -0800
@@ -1747,10 +1747,10 @@
                   if (new_nz > nz)
                     {
                       // Make room first.
-                      std::copy_backward (data () + ui, data () + nz, data () + li + rnz);
-                      std::copy_backward (ridx () + ui, ridx () + nz, ridx () + li + rnz);
+                      std::copy_backward (data () + ui, data () + nz, data () + nz + rnz);
+                      std::copy_backward (ridx () + ui, ridx () + nz, ridx () + nz + rnz);
                     }
-
+                  
                   // Copy data and adjust indices from rhs.
                   copy_or_memcpy (rnz, rhs.data (), data () + li);
                   mx_inline_add (rnz, ridx () + li, rhs.ridx (), lb);