From b1f648efc56ff17e18ec2b7402d59a771b305004 Mon Sep 17 00:00:00 2001
From: Noam Cohen <noam@noam.me>
Date: Tue, 26 Jul 2022 14:34:15 +0300
Subject: [PATCH] gh-95041: Fail syslog.syslog in case inner call to
 syslog.openlog fails (GH-95264)

---
 Modules/syslogmodule.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c
index 27b176aeb6d..c409fe968f8 100644
--- a/Modules/syslogmodule.c
+++ b/Modules/syslogmodule.c
@@ -191,8 +191,14 @@ syslog_syslog(PyObject * self, PyObject * args)
          */
         if ((openargs = PyTuple_New(0))) {
             PyObject *openlog_ret = syslog_openlog(self, openargs, NULL);
-            Py_XDECREF(openlog_ret);
             Py_DECREF(openargs);
+            if (openlog_ret == NULL) {
+                return NULL;
+            }
+            Py_DECREF(openlog_ret);
+        }
+        else {
+            return NULL;
         }
     }
 
-- 
GitLab