From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 30 May 2026 17:15:02 +0000 (+0200) Subject: [3.15] gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407... X-Git-Tag: v3.15.0b2~38 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=7cf2b37b66f681e1a61916b8b83b67771582fa93;p=thirdparty%2FPython%2Fcpython.git [3.15] gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407) (GH-150616) (cherry picked from commit 1e18c45495185cb547d43c3dd4c1cbdd8482867b) Co-authored-by: Thomas Kowalski --- diff --git a/Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst b/Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst new file mode 100644 index 000000000000..230e961abd3f --- /dev/null +++ b/Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst @@ -0,0 +1,3 @@ +Fix a possible crash occurring during :mod:`socket` module initialization +when the system is out of memory on platforms without a reentrant +``gethostbyname``. diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 722287fbb134..cf7aadfe95a7 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -9285,6 +9285,9 @@ socket_exec(PyObject *m) /* Initialize gethostbyname lock */ #if defined(USE_GETHOSTBYNAME_LOCK) netdb_lock = PyThread_allocate_lock(); + if (netdb_lock == NULL) { + goto error; + } #endif #ifdef MS_WINDOWS