diff Python/pythonrun.c @ 84800:a4998e8fd7fc

Issue #18520: Fix initstdio(), handle PySys_SetObject() failure
author Victor Stinner <victor.stinner@gmail.com>
date Mon, 22 Jul 2013 23:55:19 +0200
parents d38348173c46
children 31664b304281
line wrap: on
line diff
--- a/Python/pythonrun.c	Mon Jul 22 23:50:57 2013 +0200
+++ b/Python/pythonrun.c	Mon Jul 22 23:55:19 2013 +0200
@@ -1159,8 +1159,14 @@
     }
     PyErr_Clear();  /* Not a fatal error if codec isn't available */
 
-    PySys_SetObject("__stderr__", std);
-    PySys_SetObject("stderr", std);
+    if (PySys_SetObject("__stderr__", std) < 0) {
+        Py_DECREF(std);
+        goto error;
+    }
+    if (PySys_SetObject("stderr", std) < 0) {
+        Py_DECREF(std);
+        goto error;
+    }
     Py_DECREF(std);
 #endif