diff options
author | Barry Warsaw <barry@python.org> | 2012-02-21 16:16:06 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2012-02-21 16:16:06 (GMT) |
commit | 8757cad394ff09bfd600e38390cacc7ce48a8773 (patch) | |
tree | ee86f851900e9f52e8479eee866574afe29e11be | |
parent | b69fa1f8b7b935c79b193502358bd59b685afd77 (diff) | |
download | cpython-8757cad394ff09bfd600e38390cacc7ce48a8773.zip cpython-8757cad394ff09bfd600e38390cacc7ce48a8773.tar.gz cpython-8757cad394ff09bfd600e38390cacc7ce48a8773.tar.bz2 |
Backport fix from default branch for ./python -R -Wd where hash('d') would not
have gotten randomized.
-rw-r--r-- | Modules/main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/main.c b/Modules/main.c index a57d00b..780d877 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': |