Mercurial > octave
diff libinterp/octave-value/ov-usr-fcn.h @ 23653:3bb0a937c071
avoid possible memory errors when parsing function files
* ov-builtin.h (octave_builtin::call): Provide default values for
nargout and args in declaration.
* ov-mex-fcn.h (octave_mex_function::call): Likewise.
* ov-usr-fcn.h (octave_user_function::call): Likewise.
* parse.h, oct-parse.in.yy (parse_fcn_file, load_fcn_from_file):
Return octave_value object instead of raw pointer to octave_function.
Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 20 Jun 2017 06:57:59 -0400 |
parents | 214cb58ccc1c |
children | ef71711f6d64 |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-usr-fcn.h Mon Jun 19 14:57:34 2017 -0400 +++ b/libinterp/octave-value/ov-usr-fcn.h Tue Jun 20 06:57:59 2017 -0400 @@ -134,8 +134,9 @@ octave::sys::time time_checked (void) const { return t_checked; } - octave_value_list call (octave::tree_evaluator& tw, int nargout, - const octave_value_list& args); + octave_value_list + call (octave::tree_evaluator& tw, int nargout = 0, + const octave_value_list& args = octave_value_list ()); octave::tree_statement_list * body (void) { return cmd_list; } @@ -341,8 +342,9 @@ ? (cname.empty () ? true : cname == dispatch_class ()) : false; } - octave_value_list call (octave::tree_evaluator& tw, int nargout, - const octave_value_list& args); + octave_value_list + call (octave::tree_evaluator& tw, int nargout = 0, + const octave_value_list& args = octave_value_list ()); octave::tree_parameter_list * parameter_list (void) { return param_list; }