]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104372: Use non-Raw malloc for c_fds_to_keep in _posixsubprocess (#104697)
authorGregory P. Smith <greg@krypto.org>
Sat, 20 May 2023 17:09:23 +0000 (10:09 -0700)
committerGitHub <noreply@github.com>
Sat, 20 May 2023 17:09:23 +0000 (17:09 +0000)
Use non-Raw malloc for c_fds_to_keep as the code could ask for 0 length.

Modules/_posixsubprocess.c

index 75965d338d5922ddf87af2184f3a3f80e1bc8f71..1b7fe71186a1635221ca9e344dd5788c22dca302 100644 (file)
@@ -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) {