diff Modules/python.c @ 51902:a5f0371850ff 3.0

Merged revisions 70029 via svnmerge from svn+ssh://svn.python.org/python/branches/py3k ........ r70029 | georg.brandl | 2009-02-27 18:52:38 +0100 (Fr, 27 Feb 2009) | 1 line another instance of #804543: use strdup() when saving the result of setlocale() because it could be overwritten by subsequent setlocale()s. ........
author Georg Brandl <georg@python.org>
date Fri, 27 Feb 2009 17:54:11 +0000
parents 26bc0cd0108b
children ac209f132b17
line wrap: on
line diff
--- a/Modules/python.c	Fri Feb 27 13:00:45 2009 +0000
+++ b/Modules/python.c	Fri Feb 27 17:54:11 2009 +0000
@@ -37,7 +37,7 @@
 		fprintf(stderr, "out of memory\n");
 		return 1;
 	}
-	oldloc = setlocale(LC_ALL, NULL);
+	oldloc = strdup(setlocale(LC_ALL, NULL));
 	setlocale(LC_ALL, "");
 	for (i = 0; i < argc; i++) {
 #ifdef HAVE_BROKEN_MBSTOWCS
@@ -67,6 +67,7 @@
 		}
 	}
 	setlocale(LC_ALL, oldloc);
+	free(oldloc);
 	res = Py_Main(argc, argv_copy);
 	for (i = 0; i < argc; i++) {
 		PyMem_Free(argv_copy2[i]);