This is the mail archive of the
gdb-testers@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Fix use of a dangling pointer for Python breakpoint objects
- From: sergiodj+buildbot at sergiodj dot net
- To: gdb-testers at sourceware dot org
- Date: Sat, 16 Jul 2016 16:51:59 -0400
- Subject: [binutils-gdb] Fix use of a dangling pointer for Python breakpoint objects
- Authentication-results: sourceware.org; auth=none
*** TEST RESULTS FOR COMMIT f4952523968703caa027a5922263eb97b88bedc3 ***
Author: Pierre-Marie de Rodat <derodat@adacore.com>
Branch: master
Commit: f4952523968703caa027a5922263eb97b88bedc3
Fix use of a dangling pointer for Python breakpoint objects
When a Python script tries to create a breakpoint but fails to do so,
gdb.Breakpoint.__init__ raises an exception and the breakpoint does not
exist anymore in the Python interpreter. However, GDB still keeps a
reference to the Python object to be used for a later hook, which is
wrong.
This commit adds the necessary cleanup code so that there is no stale
reference to this Python object. It also adds a new testcase to
reproduce the bug and check the fix.
2016-06-25 Pierre-Marie de Rodat <derodat@adacore.com>
gdb/
* python/py-breakpoint.c (bppy_init): Clear bppy_pending_object
when there is an error during the breakpoint creation.
gdb/testsuite
* gdb.python/py-breakpoint-create-fail.c,
gdb.python/py-breakpoint-create-fail.exp,
gdb.python/py-breakpoint-create-fail.py: New testcase.