mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
pythonmod: fix HANDLE_LEAK on pythonmod_init
Found by the static analyzer Svace (ISP RAS). Handle 'script_py' is created at pythonmod.c:436 by calling function 'fopen' and lost at pythonmod.c:457,465. Signed-off-by: Petr Vaganov <petrvaganoff@gmail.com>
This commit is contained in:
parent
e471e15774
commit
7c28f1b99c
1 changed files with 2 additions and 0 deletions
|
|
@ -454,6 +454,7 @@ int pythonmod_init(struct module_env* env, int id)
|
|||
if(PyDict_SetItemString(pe->data, "script", fname) < 0) {
|
||||
log_err("pythonmod: could not add item to dictionary");
|
||||
Py_XDECREF(fname);
|
||||
fclose(script_py);
|
||||
goto python_init_fail;
|
||||
}
|
||||
Py_XDECREF(fname);
|
||||
|
|
@ -462,6 +463,7 @@ int pythonmod_init(struct module_env* env, int id)
|
|||
log_err("pythonmod: could not add mod_env object");
|
||||
Py_XDECREF(pe->data); /* 2 times, here and on python_init_fail; */
|
||||
/* on failure the reference is not stolen */
|
||||
fclose(script_py);
|
||||
goto python_init_fail;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue