From: Antoine Pitrou Date: Sat, 12 May 2012 13:51:51 +0000 (+0200) Subject: Fix refleaks introduced by 83da67651687. X-Git-Tag: v3.3.0a4~199^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=758153badb991ba3f77c7df913137e274b6eaaf4;p=thirdparty%2FPython%2Fcpython.git Fix refleaks introduced by 83da67651687. --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 97de48f4f80f..4a1cce24192f 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -9079,8 +9079,11 @@ PyUnicode_Count(PyObject *str, buf1 = PyUnicode_DATA(str_obj); buf2 = PyUnicode_DATA(sub_obj); if (kind2 != kind) { - if (kind2 > kind) + if (kind2 > kind) { + Py_DECREF(sub_obj); + Py_DECREF(str_obj); return 0; + } buf2 = _PyUnicode_AsKind(sub_obj, kind); } if (!buf2) @@ -10659,8 +10662,11 @@ PyUnicode_Contains(PyObject *container, PyObject *element) buf1 = PyUnicode_DATA(str); buf2 = PyUnicode_DATA(sub); if (kind2 != kind) { - if (kind2 > kind) + if (kind2 > kind) { + Py_DECREF(sub); + Py_DECREF(str); return 0; + } buf2 = _PyUnicode_AsKind(sub, kind); } if (!buf2) {