From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 84880 invoked by alias); 11 Jul 2019 15:16:31 -0000 Mailing-List: contact gdb-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: gdb-cvs-owner@sourceware.org List-Subscribe: Sender: gdb-cvs-owner@sourceware.org Received: (qmail 84786 invoked by uid 306); 11 Jul 2019 15:16:31 -0000 Date: Thu, 11 Jul 2019 15:16:00 -0000 Message-ID: <20190711151631.84783.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Fix use-after-move bug in add_thread_object X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 00db9531969db8b6ab984da996d0411fad938589 X-Git-Newrev: 72ee03ff58d954dbed886b672032c8c9db0a0dcc X-SW-Source: 2019-07/txt/msg00060.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=72ee03ff58d954dbed886b672032c8c9db0a0dcc commit 72ee03ff58d954dbed886b672032c8c9db0a0dcc Author: Tom Tromey Date: Thu Jul 11 09:09:52 2019 -0600 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. Diff: --- 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 ();