aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/python.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/python/python.c')
-rw-r--r--gdb/python/python.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 254bd28..77a0069 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -309,7 +309,11 @@ execute_gdb_command (PyObject *self, PyObject *args)
TRY_CATCH (except, RETURN_MASK_ALL)
{
- execute_command (arg, from_tty);
+ /* Copy the argument text in case the command modifies it. */
+ char *copy = xstrdup (arg);
+ struct cleanup *cleanup = make_cleanup (xfree, copy);
+ execute_command (copy, from_tty);
+ do_cleanups (cleanup);
}
GDB_PY_HANDLE_EXCEPTION (except);