]> granicus.if.org Git - python/commitdiff
Issue #18408: Fix PyErr_SetImportError(), handle PyDict_SetItemString() failure
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 17 Jul 2013 19:54:25 +0000 (21:54 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 17 Jul 2013 19:54:25 +0000 (21:54 +0200)
Python/errors.c

index 53dd9a9650d0c15b5378a5a959fa8e1664672e98..c693b78cac7da81bf69038c502f04cd60c4a82e7 100644 (file)
@@ -655,8 +655,11 @@ PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path)
 
     Py_INCREF(msg);
     PyTuple_SET_ITEM(args, 0, msg);
-    PyDict_SetItemString(kwargs, "name", name);
-    PyDict_SetItemString(kwargs, "path", path);
+
+    if (PyDict_SetItemString(kwargs, "name", name) < 0)
+        return NULL;
+    if (PyDict_SetItemString(kwargs, "path", path) < 0)
+        return NULL;
 
     error = PyObject_Call(PyExc_ImportError, args, kwargs);
     if (error != NULL) {