https://github.com/python/cpython/commit/c30fae4bea9f9ba07833e97eb542754c26610765
commit: c30fae4bea9f9ba07833e97eb542754c26610765
branch: main
author: AN Long <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-03-22T13:29:34+02:00
summary:
gh-146245: Fix reference and buffer leaks via audit hook in socket module
(GH-146248)
files:
A
Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst
M Modules/socketmodule.c
diff --git
a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst
b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst
new file mode 100644
index 00000000000000..f52eaa0d6c7277
--- /dev/null
+++
b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst
@@ -0,0 +1 @@
+Fixed reference leaks in :mod:`socket` when audit hooks raise exceptions in
:func:`socket.getaddrinfo` and :meth:`!socket.sendto`.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index d4df40c78e8a4f..8215d51baf30e8 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -4808,6 +4808,7 @@ sock_sendto(PyObject *self, PyObject *args)
}
if (PySys_Audit("socket.sendto", "OO", s, addro) < 0) {
+ PyBuffer_Release(&pbuf);
return NULL;
}
@@ -6982,7 +6983,7 @@ socket_getaddrinfo(PyObject *self, PyObject *args,
PyObject* kwargs)
if (PySys_Audit("socket.getaddrinfo", "OOiii",
hobj, pobj, family, socktype, protocol) < 0) {
- return NULL;
+ goto err;
}
memset(&hints, 0, sizeof(hints));
_______________________________________________
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]