From: Barry Warsaw Date: Tue, 21 Feb 2012 16:16:06 +0000 (-0500) Subject: Backport fix from default branch for ./python -R -Wd where hash('d') would not X-Git-Tag: v2.7.3rc1~14^2^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8757cad394ff09bfd600e38390cacc7ce48a8773;p=thirdparty%2FPython%2Fcpython.git Backport fix from default branch for ./python -R -Wd where hash('d') would not have gotten randomized. --- diff --git a/Modules/main.c b/Modules/main.c index a57d00b359df..780d877b518c 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -396,6 +396,12 @@ Py_Main(int argc, char **argv) case 'W': PySys_AddWarnOption(_PyOS_optarg); + /* Extremely obscure hack: if _PyOS_optarg was one character, + PyString_FromString in PySys_AddWarnOption will try to intern + it. This is bad because hash randomization has not been setup + yet, so the string will get the wrong hash. The following call + will cause all the cached characters to be released. */ + PyString_Fini(); break; case 'R':