]> granicus.if.org Git - python/commitdiff
Handle error conditions from PyString_ConcatAndDel().
authorNeal Norwitz <nnorwitz@gmail.com>
Thu, 6 Apr 2006 08:06:52 +0000 (08:06 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Thu, 6 Apr 2006 08:06:52 +0000 (08:06 +0000)
Modules/_ctypes/callproc.c

index a29633e6f353d8b7c223444b31b500c7f242cb2d..ed1ece9a07943e195c33d2829d87d2dd94735833 100644 (file)
@@ -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);
 }