From: Neal Norwitz Date: Thu, 6 Apr 2006 08:06:52 +0000 (+0000) Subject: Handle error conditions from PyString_ConcatAndDel(). X-Git-Tag: v2.5a2~412 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=915ae41b3a614ffceedfe79d2b802e3162943e19;p=python Handle error conditions from PyString_ConcatAndDel(). --- diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c index a29633e6f3..ed1ece9a07 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -767,6 +767,8 @@ void Extend_Error_Info(PyObject *exc_class, char *fmt, ...) if (cls_str) { PyString_ConcatAndDel(&s, cls_str); PyString_ConcatAndDel(&s, PyString_FromString(": ")); + if (s == NULL) + goto error; } else PyErr_Clear(); msg_str = PyObject_Str(v); @@ -775,12 +777,15 @@ void Extend_Error_Info(PyObject *exc_class, char *fmt, ...) else { PyErr_Clear(); PyString_ConcatAndDel(&s, PyString_FromString("???")); + if (s == NULL) + goto error; } PyErr_SetObject(exc_class, s); +error: Py_XDECREF(tp); Py_XDECREF(v); Py_XDECREF(tb); - Py_DECREF(s); + Py_XDECREF(s); }