SF bug #1086555: refcount problem in syslog

This commit is contained in:
Raymond Hettinger 2004-12-16 23:52:04 +00:00
parent b0900e6a21
commit 6f5b741a46
1 changed files with 4 additions and 3 deletions

View File

@ -57,17 +57,18 @@ syslog_openlog(PyObject * self, PyObject * args)
{
long logopt = 0;
long facility = LOG_USER;
PyObject *new_S_ident_o;
Py_XDECREF(S_ident_o);
if (!PyArg_ParseTuple(args,
"S|ll;ident string [, logoption [, facility]]",
&S_ident_o, &logopt, &facility))
&new_S_ident_o, &logopt, &facility))
return NULL;
/* This is needed because openlog() does NOT make a copy
* and syslog() later uses it.. cannot trash it.
*/
Py_XDECREF(S_ident_o);
S_ident_o = new_S_ident_o;
Py_INCREF(S_ident_o);
openlog(PyString_AsString(S_ident_o), logopt, facility);