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

Miss Islington (bot) webhook-mailer at python.org
Tue Jan 22 11:42:17 EST 2019

commit: f71e7433ebccb2e3a2665b93bb84de38f9c581c8
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-01-22T08:42:13-08: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.
(cherry picked from commit 35ca1820e19f81f69073f294503cdcd708fe490f)

Co-authored-by: Lucas Cimon <lucas.cimon at gmail.com>

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 af2c191b9b9b..a745381109d3 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -2165,6 +2165,7 @@ pymain_read_conf(_PyMain *pymain, _PyCoreConfig *config, _PyCmdline *cmdline)
             goto done;
         pymain_clear_cmdline(pymain, cmdline);
+        pymain_clear_pymain(pymain);
         memset(cmdline, 0, sizeof(*cmdline));

More information about the Python-checkins mailing list