https://github.com/python/cpython/commit/2f9e47c026795bb58401dfe28d66e83793592e57 commit: 2f9e47c026795bb58401dfe28d66e83793592e57 branch: 3.10 author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com> committer: miss-islington <31488909+miss-islington at users.noreply.github.com> date: 2022年07月26日T04:56:04-07:00 summary: gh-95041: Fail syslog.syslog in case inner call to syslog.openlog fails (GH-95264) (cherry picked from commit b1f648efc56ff17e18ec2b7402d59a771b305004) Co-authored-by: Noam Cohen <noam at noam.me> files: M Modules/syslogmodule.c diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index 95e5effafd58f..729986a5549ef 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; } }