]> granicus.if.org Git - python/commitdiff
Fix a refleak in call_maybe()
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Aug 2016 15:58:54 +0000 (17:58 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Aug 2016 15:58:54 +0000 (17:58 +0200)
Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.

Objects/typeobject.c

index 00995d481d6af027b82bd129ffdf03312d75f9a9..950835c6b7681ba56b644e5944597c6b338bcd2a 100644 (file)
@@ -1314,8 +1314,10 @@ call_maybe(PyObject *o, char *name, PyObject **nameobj, char *format, ...)
 
     va_end(va);
 
-    if (args == NULL)
+    if (args == NULL) {
+        Py_DECREF(func);
         return NULL;
+    }
 
     assert(PyTuple_Check(args));
     retval = PyObject_Call(func, args, NULL);