Mercurial > octave
changeset 32404:9afc383bb60a stable
Avoid use-after-free issue (bug #60882).
* libinterp/parse-tree/oct-parse.yy (base_parser::make_for_command): Avoid
use-after-free in (unimplemented?) parfor block.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 13 Oct 2023 14:58:46 +0200 |
parents | 48599bdcc9ca |
children | f8b21920fe91 6a1f89bb969c |
files | libinterp/parse-tree/oct-parse.yy |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/oct-parse.yy Thu Oct 05 20:41:02 2023 +0200 +++ b/libinterp/parse-tree/oct-parse.yy Fri Oct 13 14:58:46 2023 +0200 @@ -3472,18 +3472,17 @@ delete lhs; } + else if (parfor) + { + delete lhs; + delete expr; + delete maxproc; + delete body; + + bison_error ("invalid syntax for parfor statement"); + } else { - if (parfor) - { - delete lhs; - delete expr; - delete maxproc; - delete body; - - bison_error ("invalid syntax for parfor statement"); - } - m_lexer.mark_as_variables (lhs->variable_names ()); retval = new tree_complex_for_command (lhs, expr, body,