From: Victor Stinner Date: Fri, 15 Jun 2018 22:06:28 +0000 (+0200) Subject: bpo-33824, bpo-32030: Fix pymain_read_conf() (GH-7712) X-Git-Tag: v3.8.0a1~1552 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c5a4b315664f21bffc36ff6987fb4c4d1590897;p=python bpo-33824, bpo-32030: Fix pymain_read_conf() (GH-7712) Fix "LC_ALL=C python3.7 -V": reset properly the command line parser when the encoding changes after reading the Python configuration. Fix pymain_read_conf(): use memset(0) to reset properly cmdline. --- diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-06-15-19-39-06.bpo-33824.DfWHT3.rst b/Misc/NEWS.d/next/Core and Builtins/2018-06-15-19-39-06.bpo-33824.DfWHT3.rst new file mode 100644 index 0000000000..fda2ea7423 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2018-06-15-19-39-06.bpo-33824.DfWHT3.rst @@ -0,0 +1,2 @@ +Fix "LC_ALL=C python3.7 -V": reset properly the command line parser when the +encoding changes after reading the Python configuration. diff --git a/Modules/main.c b/Modules/main.c index 286ad418fe..3809fa4abe 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -2015,6 +2015,7 @@ pymain_read_conf(_PyMain *pymain, _Py_CommandLineDetails *cmdline) Py_IgnoreEnvironmentFlag = init_ignore_env; _PyCoreConfig_Clear(&pymain->config); pymain_clear_cmdline(pymain, cmdline); + memset(cmdline, 0, sizeof(*cmdline)); pymain_get_global_config(pymain, cmdline); /* The encoding changed: read again the configuration