From: sobolevn Date: Thu, 11 Jun 2026 15:48:08 +0000 (+0300) Subject: gh-151126: Fix missing memory error in `os._path_splitroot` (#151339) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=10595b1cb7ac04ba9a3ef3f7da4fa31c9966300d;p=thirdparty%2FPython%2Fcpython.git gh-151126: Fix missing memory error in `os._path_splitroot` (#151339) --- diff --git a/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst b/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst new file mode 100644 index 000000000000..25149057aa7d --- /dev/null +++ b/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst @@ -0,0 +1,2 @@ +Fix a crash when :exc:`MemoryError` in :func:`!os._path_splitroot` +was not set properly. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index f9f53ca5cb5e..1f1b7fa729c0 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5699,7 +5699,7 @@ os__path_splitroot_impl(PyObject *module, path_t *path) buffer = (wchar_t*)PyMem_Malloc(sizeof(wchar_t) * (wcslen(path->wide) + 1)); if (!buffer) { - return NULL; + return PyErr_NoMemory(); } wcscpy(buffer, path->wide); for (wchar_t *p = wcschr(buffer, L'/'); p; p = wcschr(p, L'/')) {