closes bpo-41533: Fix a potential memory leak when allocating a stack (GH-21847)
Free the stack allocated in va_build_stack if do_mkstack fails
and the stack is not a small_stack
(cherry picked from commit 75c80b0bda
)
Co-authored-by: Tony Solomonik <tony.solomonik@gmail.com>
This commit is contained in:
parent
8ed1c177c9
commit
106c1df736
|
@ -0,0 +1,2 @@
|
|||
Free the stack allocated in ``va_build_stack`` if ``do_mkstack`` fails and
|
||||
the stack is not a ``small_stack``.
|
|
@ -619,6 +619,9 @@ va_build_stack(PyObject **small_stack, Py_ssize_t small_stack_len,
|
|||
va_end(lva);
|
||||
|
||||
if (res < 0) {
|
||||
if (stack != small_stack) {
|
||||
PyMem_Free(stack);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue