2011-03-02 Michael Snyder <msnyder@vmware.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 2 Mar 2011 21:19:54 +0000 (21:19 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 2 Mar 2011 21:19:54 +0000 (21:19 +0000)
* python/py-inferior.c (build_inferior_list): Error out if
PyList_Append fails.
(gdbpy_inferiors): Error out if build_inferior_list fails.

gdb/ChangeLog
gdb/python/py-inferior.c

index 15c73adce9193f9d390b3227a59b07c5a26fe181..d3534bf1290d9548929e1fded3f08461a6e8b33e 100644 (file)
@@ -1,5 +1,9 @@
 2011-03-02  Michael Snyder  <msnyder@vmware.com>
 
+       * python/py-inferior.c (build_inferior_list): Error out if 
+       PyList_Append fails.
+       (gdbpy_inferiors): Error out if build_inferior_list fails.
+
        * linux-nat.c (linux_nat_xfer_partial): Preserve errno around
        a function call.
 
index 12a82d21bf0482fed459b5924cbed3cd228b914a..ee41ea77555be310292db063b368cc014ae3f70b 100644 (file)
@@ -326,7 +326,9 @@ build_inferior_list (struct inferior *inf, void *arg)
   PyObject *list = arg;
   PyObject *inferior = inferior_to_inferior_object (inf);
 
-  PyList_Append (list, inferior);
+  if (PyList_Append (list, inferior))
+    return 1;
+
   return 0;
 }
 
@@ -343,7 +345,11 @@ gdbpy_inferiors (PyObject *unused, PyObject *unused2)
   if (!list)
     return NULL;
 
-  iterate_over_inferiors (build_inferior_list, list);
+  if (iterate_over_inferiors (build_inferior_list, list))
+    {
+      Py_DECREF (list);
+      return NULL;
+    }
 
   return PyList_AsTuple (list);
 }