[Python-checkins] r66942 - python/trunk/Modules/_json.c

benjamin.peterson python-checkins at python.org
Thu Oct 16 23:48:06 CEST 2008


Author: benjamin.peterson
Date: Thu Oct 16 23:48:06 2008
New Revision: 66942

Log:
fix more possible ref leaks in _json and use Py_CLEAR

Modified:
   python/trunk/Modules/_json.c

Modified: python/trunk/Modules/_json.c
==============================================================================
--- python/trunk/Modules/_json.c	(original)
+++ python/trunk/Modules/_json.c	Thu Oct 16 23:48:06 2008
@@ -271,6 +271,7 @@
                 goto bail;
             }
             if (PyList_Append(chunks, chunk)) {
+                Py_DECREF(chunk);
                 goto bail;
             }
             Py_DECREF(chunk);
@@ -372,6 +373,7 @@
             goto bail;
         }
         if (PyList_Append(chunks, chunk)) {
+            Py_DECREF(chunk);
             goto bail;
         }
         Py_DECREF(chunk);
@@ -381,8 +383,7 @@
     if (rval == NULL) {
         goto bail;
     }
-    Py_DECREF(chunks);
-    chunks = NULL;
+    Py_CLEAR(chunks);
     return Py_BuildValue("(Nn)", rval, end);
 bail:
     Py_XDECREF(chunks);
@@ -533,6 +534,7 @@
             goto bail;
         }
         if (PyList_Append(chunks, chunk)) {
+            Py_DECREF(chunk);
             goto bail;
         }
         Py_DECREF(chunk);


More information about the Python-checkins mailing list