# HG changeset patch # User Daniel J Sebald # Date 1457069723 21600 # Node ID 856939aa69e93280a93ddab37cf782279b4ee953 # Parent 309bba07a4f6acb8edc094942162889449434f31 Protect sparse length change from deleting NULL pointers * Sparse.cc (Sparse::SparseRep::change_length): Test that pointers r and d are non-zero before invoking delete on them. diff --git a/liboctave/array/Sparse.cc b/liboctave/array/Sparse.cc --- a/liboctave/array/Sparse.cc +++ b/liboctave/array/Sparse.cc @@ -164,13 +164,15 @@ Sparse::SparseRep::change_length (oct octave_idx_type * new_ridx = new octave_idx_type [nz]; std::copy (r, r + min_nzmx, new_ridx); - delete [] r; + if (r) + delete [] r; r = new_ridx; T * new_data = new T [nz]; std::copy (d, d + min_nzmx, new_data); - delete [] d; + if (d) + delete [] d; d = new_data; nzmx = nz; exporting patch: