From: Martin v. Löwis Date: Mon, 27 Mar 2006 21:47:54 +0000 (+0000) Subject: Backport of compile.c part of r41531 (neal.norwitz, 2005-11-24): X-Git-Tag: v2.4.3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adbd28f7b80c31918fb241ca2e3bfb92563f8945;p=thirdparty%2FPython%2Fcpython.git Backport of compile.c part of r41531 (neal.norwitz, 2005-11-24): Fix a ref leak. --- diff --git a/Python/codecs.c b/Python/codecs.c index 4b8d9839350f..5c521fb0b4ee 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -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;