bpo-40121: Fixes audit event raised on creating a new socket (GH-19238)
(cherry picked from commit 63ba5cccf484b9ec23dfbf4cf7ffdc833eda98c3)
Co-authored-by: Steve Dower <steve.dower@python.org>
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 594a0d6..5dc5f4e 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -5069,7 +5069,7 @@
#ifdef MS_WINDOWS
/* In this case, we don't use the family, type and proto args */
- if (fdobj != NULL && fdobj != Py_None)
+ if (fdobj == NULL || fdobj == Py_None)
#endif
{
if (PySys_Audit("socket.__new__", "Oiii",
@@ -5091,8 +5091,9 @@
}
memcpy(&info, PyBytes_AS_STRING(fdobj), sizeof(info));
- if (PySys_Audit("socket()", "iii", info.iAddressFamily,
- info.iSocketType, info.iProtocol) < 0) {
+ if (PySys_Audit("socket.__new__", "Oiii", s,
+ info.iAddressFamily, info.iSocketType,
+ info.iProtocol) < 0) {
return -1;
}