Issue #14125: Fix refleak in timemodule.c on Windows. Thanks sbt for pointing

out the location of the problem. MS_WINDOWS currently implies !HAVE_WCSFTIME,
so the addition of !defined(HAVE_WCSFTIME) is for readability.
This commit is contained in:
Stefan Krah 2012-02-27 16:30:26 +01:00
parent a03422f5d3
commit 4aea7d3811

View File

@ -540,7 +540,7 @@ time_strftime(PyObject *self, PyObject *args)
fmt = PyBytes_AS_STRING(format);
#endif
#if defined(MS_WINDOWS)
#if defined(MS_WINDOWS) && !defined(HAVE_WCSFTIME)
/* check that the format string contains only valid directives */
for(outbuf = strchr(fmt, '%');
outbuf != NULL;
@ -552,7 +552,8 @@ time_strftime(PyObject *self, PyObject *args)
!strchr("aAbBcdHIjmMpSUwWxXyYzZ%", outbuf[1]))
{
PyErr_SetString(PyExc_ValueError, "Invalid format string");
return 0;
Py_DECREF(format);
return NULL;
}
}
#endif