diff Modules/python.c @ 84861:47c6aa17fd90

Issue #15893: Improve error handling in main() and Py_FrozenMain() * handle _PyMem_RawStrdup() failure * Py_FrozenMain() releases memory on error * Py_FrozenMain() duplicates the old locale, as done in main()
author Victor Stinner <victor.stinner@gmail.com>
date Sat, 27 Jul 2013 02:39:09 +0200
parents 386ab2c12301
children
line wrap: on
line diff
--- a/Modules/python.c	Sat Jul 27 02:24:52 2013 +0200
+++ b/Modules/python.c	Sat Jul 27 02:39:09 2013 +0200
@@ -45,6 +45,11 @@
 #endif
 
     oldloc = _PyMem_RawStrdup(setlocale(LC_ALL, NULL));
+    if (!oldloc) {
+        fprintf(stderr, "out of memory\n");
+        return 1;
+    }
+
     setlocale(LC_ALL, "");
     for (i = 0; i < argc; i++) {
         argv_copy[i] = _Py_char2wchar(argv[i], NULL);