]> granicus.if.org Git - python/commitdiff
Fix refleaks introduced by 83da67651687.
authorAntoine Pitrou <solipsis@pitrou.net>
Sat, 12 May 2012 13:51:51 +0000 (15:51 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Sat, 12 May 2012 13:51:51 +0000 (15:51 +0200)
Objects/unicodeobject.c

index 97de48f4f80f63ec87b56ea930eb2f6d603e63f3..4a1cce24192fb885a43c71cf9b509899f70ab962 100644 (file)
@@ -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) {