]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Decref all if ensure_fromlist fails. Fixes #876533.
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 23 Mar 2004 16:28:13 +0000 (16:28 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 23 Mar 2004 16:28:13 +0000 (16:28 +0000)
Backported to 2.3.

Python/import.c

index e6ea3dd0a958c0c531d3a47530b5768fe2fa4466..5b9f162387324d0efcce989f426703a9b74a2af5 100644 (file)
@@ -2104,9 +2104,10 @@ ensure_fromlist(PyObject *mod, PyObject *fromlist, char *buf, int buflen,
                        if (all == NULL)
                                PyErr_Clear();
                        else {
-                               if (!ensure_fromlist(mod, all, buf, buflen, 1))
-                                       return 0;
+                               int ret = ensure_fromlist(mod, all, buf, buflen, 1);
                                Py_DECREF(all);
+                               if (!ret)
+                                       return 0;
                        }
                        continue;
                }