From: Gregory P. Smith Date: Sat, 20 May 2023 17:09:23 +0000 (-0700) Subject: gh-104372: Use non-Raw malloc for c_fds_to_keep in _posixsubprocess (#104697) X-Git-Tag: v3.12.0b1~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d1732feea0eadd4ccc3516440d0c071be0093dec;p=thirdparty%2FPython%2Fcpython.git gh-104372: Use non-Raw malloc for c_fds_to_keep in _posixsubprocess (#104697) Use non-Raw malloc for c_fds_to_keep as the code could ask for 0 length. --- diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c index 75965d338d59..1b7fe71186a1 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -1074,7 +1074,7 @@ subprocess_fork_exec_impl(PyObject *module, PyObject *process_args, #endif /* HAVE_SETREUID */ } - c_fds_to_keep = PyMem_RawMalloc(fds_to_keep_len * sizeof(int)); + c_fds_to_keep = PyMem_Malloc(fds_to_keep_len * sizeof(int)); if (c_fds_to_keep == NULL) { PyErr_SetString(PyExc_MemoryError, "failed to malloc c_fds_to_keep"); goto cleanup; @@ -1157,7 +1157,7 @@ subprocess_fork_exec_impl(PyObject *module, PyObject *process_args, cleanup: if (c_fds_to_keep != NULL) { - PyMem_RawFree(c_fds_to_keep); + PyMem_Free(c_fds_to_keep); } if (saved_errno != 0) {