summaryrefslogtreecommitdiffstats
path: root/Modules/main.c
diff options
context:
space:
mode:
authorLucas Cimon <lucas.cimon@gmail.com>2019-01-22 16:15:01 (GMT)
committerVictor Stinner <vstinner@redhat.com>2019-01-22 16:15:01 (GMT)
commit35ca1820e19f81f69073f294503cdcd708fe490f (patch)
treedc3490038e5a61ae9dfd27d9f9e4e04f3a30fa12 /Modules/main.c
parent9932a22897ef9905161dac7476e6976370e13515 (diff)
downloadcpython-35ca1820e19f81f69073f294503cdcd708fe490f.zip
cpython-35ca1820e19f81f69073f294503cdcd708fe490f.tar.gz
cpython-35ca1820e19f81f69073f294503cdcd708fe490f.tar.bz2
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.
Diffstat (limited to 'Modules/main.c')
-rw-r--r--Modules/main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Modules/main.c b/Modules/main.c
index 8e66ddd..da79a63 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;