This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Use gdbpy_ref in pyuw_object_attribute_to_pointer


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4586d54305ed275bb909f3373a7372c02d7e579e

commit 4586d54305ed275bb909f3373a7372c02d7e579e
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:48:51 2016 -0700

    Use gdbpy_ref in pyuw_object_attribute_to_pointer
    
    This changes pyuw_object_attribute_to_pointer to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
    	gdbpy_ref.

Diff:
---
 gdb/ChangeLog          | 5 +++++
 gdb/python/py-unwind.c | 5 ++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f4f5e0b..68eaf56 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2017-01-10  Tom Tromey  <tom@tromey.com>
 
+	* python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
+	gdbpy_ref.
+
+2017-01-10  Tom Tromey  <tom@tromey.com>
+
 	* python/python.c (eval_python_command, gdbpy_decode_line)
 	(gdbpy_run_events, gdbpy_start_type_printers)
 	(gdbpy_apply_type_printers): Use gdbpy_ref.
diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c
index c0bc0c2..690412a 100644
--- a/gdb/python/py-unwind.c
+++ b/gdb/python/py-unwind.c
@@ -177,18 +177,17 @@ pyuw_object_attribute_to_pointer (PyObject *pyo, const char *attr_name,
 
   if (PyObject_HasAttrString (pyo, attr_name))
     {
-      PyObject *pyo_value = PyObject_GetAttrString (pyo, attr_name);
+      gdbpy_ref pyo_value (PyObject_GetAttrString (pyo, attr_name));
 
       if (pyo_value != NULL && pyo_value != Py_None)
         {
-          rc = pyuw_value_obj_to_pointer (pyo_value, addr);
+          rc = pyuw_value_obj_to_pointer (pyo_value.get (), addr);
           if (!rc)
             PyErr_Format (
                 PyExc_ValueError,
                 _("The value of the '%s' attribute is not a pointer."),
                 attr_name);
         }
-      Py_XDECREF (pyo_value);
     }
   return rc;
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]