# HG changeset patch # User Jordi GutiƩrrez Hermoso # Date 1301648975 21600 # Node ID 681bb733f4f4212c455cfcf683ccc5393b605fe9 # Parent c686d2be01021be4af254a44ff59f990eddfcf19 MatrixType:: plug memory leak (bug #32804). diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,8 @@ +2011-04-01 Jordi GutiƩrrez Hermoso + + * MatrixType (MatrixType::operator =): Plug memory leak due to + improper handling of perm array (bug #32804). + 2011-03-29 Rik * Array.cc (diag): Treat empty vector (1x0 or 0x1) as valid input. diff --git a/liboctave/MatrixType.cc b/liboctave/MatrixType.cc --- a/liboctave/MatrixType.cc +++ b/liboctave/MatrixType.cc @@ -921,14 +921,20 @@ lower_band = a.lower_band; dense = a.dense; full = a.full; - nperm = a.nperm; - if (nperm != 0) + if (a.nperm != 0) { - perm = new octave_idx_type [nperm]; - for (octave_idx_type i = 0; i < nperm; i++) + if (nperm) + { + delete[] perm; + } + + perm = new octave_idx_type [a.nperm]; + for (octave_idx_type i = 0; i < a.nperm; i++) perm[i] = a.perm[i]; } + + nperm = a.nperm; } return *this;