Fix logic error and DECREF reported by Coverity.

This commit is contained in:
Neal Norwitz 2006-03-08 06:36:45 +00:00
parent 025f14b72d
commit 2f5e9903a0

View file

@ -106,8 +106,8 @@ set_error_attr(PyObject *err, char *name, int value)
{ {
PyObject *v = PyInt_FromLong(value); PyObject *v = PyInt_FromLong(value);
if (v != NULL && PyObject_SetAttrString(err, name, v) == -1) { if (v == NULL || PyObject_SetAttrString(err, name, v) == -1) {
Py_DECREF(v); Py_XDECREF(v);
return 0; return 0;
} }
Py_DECREF(v); Py_DECREF(v);
@ -137,7 +137,7 @@ set_error(xmlparseobject *self, enum XML_Error code)
&& set_error_attr(err, "lineno", lineno)) { && set_error_attr(err, "lineno", lineno)) {
PyErr_SetObject(ErrorObject, err); PyErr_SetObject(ErrorObject, err);
} }
Py_DECREF(err); Py_XDECREF(err);
return NULL; return NULL;
} }