https://github.com/python/cpython/commit/1e18c45495185cb547d43c3dd4c1cbdd8482867b
commit: 1e18c45495185cb547d43c3dd4c1cbdd8482867b
branch: main
author: Thomas Kowalski <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-05-30T16:25:40Z
summary:
gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407)
files:
A Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst
M Modules/socketmodule.c
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 000000000000000..230e961abd3f588
--- /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 566989d648d2f73..3eaa8cf75482397 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -9293,6 +9293,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
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]