diff libinterp/parse-tree/oct-parse.in.yy @ 21589:ad90fb5a139f

eliminate memory leaks from classdef parse tree (bug #47372) * base-list.h (octave_base_list::~octave_base_list): Declare virtual. * oct-parse.in.yy (parse_fcn_file): Delete parser::classdef_object after meta class object is constructed.
author John W. Eaton <jwe@octave.org>
date Wed, 06 Apr 2016 10:54:31 -0400
parents 6fab85c1538f
children 4c080cbc4ef9
line wrap: on
line diff
--- a/libinterp/parse-tree/oct-parse.in.yy	Mon Apr 04 14:50:01 2016 -0400
+++ b/libinterp/parse-tree/oct-parse.in.yy	Wed Apr 06 10:54:31 2016 -0400
@@ -4201,6 +4201,10 @@
 
               fcn_ptr =
                 parser.classdef_object->make_meta_class (is_at_folder);
+
+              delete (parser.classdef_object);
+
+              parser.classdef_object = 0;
             }
           else if (fcn_ptr)
             {