Mercurial > octave
changeset 21440:062c65569ad7
avoid some address-sanitizer leak warnings (bug #47372)
* octave-qt-link.cc (octave_qt_link::~octave_qt_link):
Delete command_interpreter and main_thread.
* octave-link.h, octave-link.cc (octave_link::~octave_link):
Delete event_queue_mutex.
* main.in.cc (main): Declare new_argv as static.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 11 Mar 2016 15:39:52 -0500 |
parents | 912b8828193b |
children | 46a9c7afe419 |
files | libgui/src/octave-qt-link.cc libinterp/corefcn/octave-link.cc libinterp/corefcn/octave-link.h src/main.in.cc |
diffstat | 4 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/octave-qt-link.cc Fri Mar 11 10:39:08 2016 -0800 +++ b/libgui/src/octave-qt-link.cc Fri Mar 11 15:39:52 2016 -0500 @@ -63,7 +63,11 @@ main_thread->start (); } -octave_qt_link::~octave_qt_link (void) { } +octave_qt_link::~octave_qt_link (void) +{ + delete command_interpreter; + delete main_thread; +} void octave_qt_link::execute_interpreter (void)
--- a/libinterp/corefcn/octave-link.cc Fri Mar 11 10:39:08 2016 -0800 +++ b/libinterp/corefcn/octave-link.cc Fri Mar 11 15:39:52 2016 -0500 @@ -55,6 +55,11 @@ command_editor::add_event_hook (octave_readline_hook); } +octave_link::~octave_link (void) +{ + delete event_queue_mutex; +} + void octave_link::set_workspace (void) {
--- a/libinterp/corefcn/octave-link.h Fri Mar 11 10:39:08 2016 -0800 +++ b/libinterp/corefcn/octave-link.h Fri Mar 11 15:39:52 2016 -0500 @@ -53,7 +53,7 @@ public: - virtual ~octave_link (void) { } + virtual ~octave_link (void); static void generate_events (void) {
--- a/src/main.in.cc Fri Mar 11 10:39:08 2016 -0800 +++ b/src/main.in.cc Fri Mar 11 15:39:52 2016 -0500 @@ -446,7 +446,9 @@ std::string file = octave_cli; #endif - char **new_argv = new char * [argc + 1]; + // Declaring new_argv static avoids leak warnings when using GCC's + // --address-sanitizer option. + static char **new_argv = new char * [argc + 1]; int k = 1;