Mercurial > octave
changeset 32436:2922ecf94062
Fill memory leak in bytecode interpreter
Loose new after refactoring of original patch
* pt-bytecode-vm.cc: Don't use new
author | Petter T. |
---|---|
date | Fri, 27 Oct 2023 18:19:05 +0200 |
parents | c082a1a49c7d |
children | fcc5a0b0e564 |
files | libinterp/parse-tree/pt-bytecode-vm.cc |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-bytecode-vm.cc Fri Oct 27 18:18:52 2023 +0200 +++ b/libinterp/parse-tree/pt-bytecode-vm.cc Fri Oct 27 18:19:05 2023 +0200 @@ -5678,19 +5678,20 @@ int n_ignored = arg0; int n_total = POP_CODE (); - auto *M = new Matrix {}; - M->resize (1, n_ignored); + + Matrix M; + M.resize (1, n_ignored); std::set<int> set_ignored; for (int i = 0; i < n_ignored; i++) { int ignore_idx = POP_CODE (); - (*M) (i) = ignore_idx; + M (i) = ignore_idx; set_ignored.insert (ignore_idx); } - octave_value ignore_matrix {*M}; + octave_value ignore_matrix {M}; // For calls into m-functions etc auto *new_lvalue_list = new std::list<octave_lvalue> {};