]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport of compile.c part of r41531 (neal.norwitz, 2005-11-24):
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 27 Mar 2006 21:47:54 +0000 (21:47 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 27 Mar 2006 21:47:54 +0000 (21:47 +0000)
Fix a ref leak.

Python/codecs.c

index 4b8d9839350ff4bef798d45f58b29cc640682119..5c521fb0b4ee7522c12a1c16998fba16e1a262c9 100644 (file)
@@ -36,8 +36,7 @@ int PyCodec_Register(PyObject *search_function)
        goto onError;
     }
     if (!PyCallable_Check(search_function)) {
-       PyErr_SetString(PyExc_TypeError,
-                       "argument must be callable");
+       PyErr_SetString(PyExc_TypeError, "argument must be callable");
        goto onError;
     }
     return PyList_Append(interp->codec_search_path, search_function);
@@ -305,7 +304,7 @@ PyObject *PyCodec_Encode(PyObject *object,
                         const char *errors)
 {
     PyObject *encoder = NULL;
-    PyObject *args = NULL, *result;
+    PyObject *args = NULL, *result = NULL;
     PyObject *v;
 
     encoder = PyCodec_Encoder(encoding);
@@ -336,6 +335,7 @@ PyObject *PyCodec_Encode(PyObject *object,
     return v;
        
  onError:
+    Py_XDECREF(result);
     Py_XDECREF(args);
     Py_XDECREF(encoder);
     return NULL;