Skip to content
Snippets Groups Projects
Select Git revision
  • master default
1 result

py-breakpoint.c

Blame
  • Forked from Petteri Mäki / binutils-gdb
    Source project has a limited visibility.
    • Pierre-Marie de Rodat's avatar
      f4952523
      Fix use of a dangling pointer for Python breakpoint objects · f4952523
      Pierre-Marie de Rodat authored
      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.
      f4952523
      History
      Fix use of a dangling pointer for Python breakpoint objects
      Pierre-Marie de Rodat authored
      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.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.