Discussion:
[Bug gdb/18840] New: interp_exec doesn't use a cleanup
dje at google dot com
2015-08-17 19:15:38 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18840

Bug ID: 18840
Summary: interp_exec doesn't use a cleanup
Product: gdb
Version: unknown
Status: NEW
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: dje at google dot com
Target Milestone: ---

Filing this so I don't forget it.

interp_exec has this:

struct gdb_exception
interp_exec (struct interp *interp, const char *command_str)
{
struct gdb_exception ex;
struct interp *save_command_interp;

gdb_assert (interp->procs->exec_proc != NULL);

/* See `command_interp' for why we do this. */
save_command_interp = command_interpreter;
command_interpreter = interp;

ex = interp->procs->exec_proc (interp->data, command_str);

command_interpreter = save_command_interp;

return ex;
}

so it's assuming interp->procs->exec_proc won't throw an exception.
But MI's version calls bpstat_do_actions outside of any TRY/CATCH.
I don't see any guarantees that bpstat_do_actions won't throw an exception.
See mi_execute_command.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-04-18 17:19:40 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18840

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Keywords| |good-first-bug
--
You are receiving this mail because:
You are on the CC list for the bug.
Loading...