From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 30 May 2026 16:56:46 +0000 (+0200) Subject: [3.13] gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407... X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=4d91835af5a9e7fe47609f7ec9457f6e8af39d12;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407) (GH-150618) (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 becdf9af7181..9cdf207e7a33 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -8939,6 +8939,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