diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-07-01 18:28:55 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-01 18:28:55 (GMT) |
commit | 4c227e6a56a9704fe5b4e4509071796f3359f4bb (patch) | |
tree | f5f09d2e39edf421976d1f8389b032ce0a6234f8 /Modules | |
parent | 96f581cf9d2f1d7888d2fd9bb89f19f10c0477bf (diff) | |
download | cpython-4c227e6a56a9704fe5b4e4509071796f3359f4bb.zip cpython-4c227e6a56a9704fe5b4e4509071796f3359f4bb.tar.gz cpython-4c227e6a56a9704fe5b4e4509071796f3359f4bb.tar.bz2 |
bpo-36763: Use PyConfig_Clear() (GH-14445)
Stop using "static PyConfig", PyConfig must now always use
dynamically allocated strings: use PyConfig_SetString(),
PyConfig_SetArgv() and PyConfig_Clear().
(cherry picked from commit 67310023f299b5a2fad71fca449b46d280036690)
Co-authored-by: Victor Stinner <vstinner@redhat.com>
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Modules/main.c b/Modules/main.c index 853afed..b126f45 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -62,7 +62,7 @@ pymain_init(const _PyArgv *args) PyConfig config; status = PyConfig_InitPythonConfig(&config); if (_PyStatus_EXCEPTION(status)) { - return status; + goto done; } /* pass NULL as the config: config is read from command line arguments, @@ -74,14 +74,18 @@ pymain_init(const _PyArgv *args) status = PyConfig_SetArgv(&config, args->argc, args->wchar_argv); } if (_PyStatus_EXCEPTION(status)) { - return status; + goto done; } status = Py_InitializeFromConfig(&config); if (_PyStatus_EXCEPTION(status)) { - return status; + goto done; } - return _PyStatus_OK(); + status = _PyStatus_OK(); + +done: + PyConfig_Clear(&config); + return status; } |