]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Fix some error-handling bugs in python frame filters
authorTom Tromey <tom@tromey.com>
Mon, 31 Oct 2016 17:10:35 +0000 (11:10 -0600)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Thu, 12 Jan 2017 17:03:20 +0000 (18:03 +0100)
commitdf1fe27b672d7aa054eaad8b51f86302f7e46c65
tree3302336665d9cfbf8b8883de482dc56dee3a1103
parente11d96aec4008de21f650c1cee08fea427189551
Fix some error-handling bugs in python frame filters

While writing a Python frame filter, I found a few bugs in the current
frame filter code.  In particular:

* One spot converts a Python long to a CORE_ADDR using PyLong_AsLong.
  However, this can fail on overflow.  I changed this to use
  get_addr_from_python.

* Another spot is doing the same but with PyLong_AsUnsignedLongLong; I
  changed this as well just for consistency.

* Converting line numbers can print "-1" if conversion from long
  fails.  This isn't fatal but just a bit ugly.

I've included a test case for the first issue.  The line number one
didn't seem important enough to bother with.

2016-11-08  Tom Tromey  <tom@tromey.com>

* python/py-framefilter.c (py_print_frame): Use
get_addr_from_python.  Check for errors when getting line number.

2016-11-08  Tom Tromey  <tom@tromey.com>

* gdb.python/py-framefilter.py (ElidingFrameDecorator.address):
New method.
gdb/ChangeLog
gdb/python/py-framefilter.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.python/py-framefilter.py