[Python-checkins] bpo-35720: Fixing a memory leak in pymain_parse_cmdline_impl() (GH-11528)

Victor Stinner webhook-mailer at python.org
Tue Jan 22 11:15:06 EST 2019

commit: 35ca1820e19f81f69073f294503cdcd708fe490f
branch: master
author: Lucas Cimon <lucas.cimon at gmail.com>
committer: Victor Stinner <vstinner at redhat.com>
date: 2019-01-22T17:15:01+01:00

bpo-35720: Fixing a memory leak in pymain_parse_cmdline_impl() (GH-11528)

When the loop in the pymain_read_conf function in this same file
calls pymain_init_cmdline_argv() a 2nd time, the pymain->command
buffer of wchar_t is overriden and the previously allocated memory
is never freed.

A Misc/NEWS.d/next/Core and Builtins/2019-01-12-23-33-04.bpo-35720.LELKQx.rst
M Modules/main.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-01-12-23-33-04.bpo-35720.LELKQx.rst b/Misc/NEWS.d/next/Core and Builtins/2019-01-12-23-33-04.bpo-35720.LELKQx.rst
new file mode 100644
index 000000000000..9c57ebcb625e
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-01-12-23-33-04.bpo-35720.LELKQx.rst	
@@ -0,0 +1 @@
+Fixed a minor memory leak in pymain_parse_cmdline_impl function in Modules/main.c
\ No newline at end of file
diff --git a/Modules/main.c b/Modules/main.c
index 8e66ddded419..da79a6397b38 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -1376,6 +1376,7 @@ pymain_read_conf(_PyMain *pymain, _PyCoreConfig *config,
             goto done;
         pymain_clear_cmdline(pymain, cmdline);
+        pymain_clear_pymain(pymain);
         memset(cmdline, 0, sizeof(*cmdline));
         config->utf8_mode = new_utf8_mode;
         config->coerce_c_locale = new_coerce_c_locale;

More information about the Python-checkins mailing list