Unverified Kaydet (Commit) fc96437d authored tarafından Victor Stinner's avatar Victor Stinner Kaydeden (comit) GitHub

bpo-33499: Fix pymain_init_pycache_prefix() (GH-8596)

Fix a memory leak in pymain_init_pycache_prefix()
when PYTHONPYCACHEPREFIX and -X pycache_prefix are used.
üst ea68d839
...@@ -1768,16 +1768,6 @@ pymain_init_tracemalloc(_PyCoreConfig *config) ...@@ -1768,16 +1768,6 @@ pymain_init_tracemalloc(_PyCoreConfig *config)
static _PyInitError static _PyInitError
pymain_init_pycache_prefix(_PyCoreConfig *config) pymain_init_pycache_prefix(_PyCoreConfig *config)
{ {
wchar_t *env;
int res = config_get_env_var_dup(config, &env,
L"PYTHONPYCACHEPREFIX", "PYTHONPYCACHEPREFIX");
if (res < 0) {
return DECODE_LOCALE_ERR("PYTHONPYCACHEPREFIX", res);
} else if (env) {
config->pycache_prefix = env;
}
const wchar_t *xoption = config_get_xoption(config, L"pycache_prefix"); const wchar_t *xoption = config_get_xoption(config, L"pycache_prefix");
if (xoption) { if (xoption) {
const wchar_t *sep = wcschr(xoption, L'='); const wchar_t *sep = wcschr(xoption, L'=');
...@@ -1790,6 +1780,16 @@ pymain_init_pycache_prefix(_PyCoreConfig *config) ...@@ -1790,6 +1780,16 @@ pymain_init_pycache_prefix(_PyCoreConfig *config)
// -X pycache_prefix= can cancel the env var // -X pycache_prefix= can cancel the env var
config->pycache_prefix = NULL; config->pycache_prefix = NULL;
} }
return _Py_INIT_OK();
}
wchar_t *env;
int res = config_get_env_var_dup(config, &env,
L"PYTHONPYCACHEPREFIX", "PYTHONPYCACHEPREFIX");
if (res < 0) {
return DECODE_LOCALE_ERR("PYTHONPYCACHEPREFIX", res);
} else if (env) {
config->pycache_prefix = env;
} }
return _Py_INIT_OK(); return _Py_INIT_OK();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment