From 72ee03ff58d954dbed886b672032c8c9db0a0dcc Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 11 Jul 2019 09:09:52 -0600 Subject: [PATCH] Fix use-after-move bug in add_thread_object commit 05b08ac1608 ("Reduce manual reference counting in py-inferior.c") introduced a use-after-move bug in add_thread_object, causing a test suite failure. This patch fixes the bug. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-07-11 Tom Tromey * python/py-inferior.c (add_thread_object): Don't use thread_obj after it has been moved. --- gdb/ChangeLog | 5 +++++ gdb/python/py-inferior.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 49ccba7..b5585b4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-07-11 Tom Tromey + + * python/py-inferior.c (add_thread_object): Don't use thread_obj + after it has been moved. + 2019-07-10 Simon Marchi * valops.c (value_must_coerce_to_target): Change return type to diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index bf43012..2888222 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -344,7 +344,7 @@ add_thread_object (struct thread_info *tp) return; gdbpy_ref<> event = create_thread_event_object (&new_thread_event_object_type, - (PyObject *) thread_obj.get ()); + (PyObject *) inf_obj); if (event == NULL || evpy_emit_event (event.get (), gdb_py_events.new_thread) < 0) gdbpy_print_stack (); -- 2.7.4