Commit 3d1e2ab5 authored by nurelin's avatar nurelin Committed by Benjamin Peterson

bpo-31532: Fix memory corruption due to allocator mix (#3679)

Fix a memory corruption in getpath.c due to mixed memory allocators
between Py_GetPath() and Py_SetPath().

The fix use the Raw allocator to mimic the windows version.

This patch should be used from python3.6 to the current version

for more details, see the bug report and
  https://github.com/pyinstaller/pyinstaller/issues/2812
parent b091bec8
Fix memory corruption due to allocator mix in getpath.c between Py_GetPath()
and Py_SetPath()
...@@ -735,7 +735,7 @@ calculate_path(void) ...@@ -735,7 +735,7 @@ calculate_path(void)
bufsz += wcslen(zip_path) + 1; bufsz += wcslen(zip_path) + 1;
bufsz += wcslen(exec_prefix) + 1; bufsz += wcslen(exec_prefix) + 1;
buf = PyMem_New(wchar_t, bufsz); buf = PyMem_RawMalloc(bufsz * sizeof(wchar_t));
if (buf == NULL) { if (buf == NULL) {
Py_FatalError( Py_FatalError(
"Not enough memory for dynamic PYTHONPATH"); "Not enough memory for dynamic PYTHONPATH");
......
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