]> granicus.if.org Git - python/commitdiff
Fix logic error and DECREF reported by Coverity.
authorNeal Norwitz <nnorwitz@gmail.com>
Wed, 8 Mar 2006 06:36:45 +0000 (06:36 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Wed, 8 Mar 2006 06:36:45 +0000 (06:36 +0000)
Modules/pyexpat.c

index b3001eaef75a70e202c46dda5a4fc6bcbe05d173..e4bf180a6ad0770603d184bc4fe9171dd6f427e0 100644 (file)
@@ -106,8 +106,8 @@ set_error_attr(PyObject *err, char *name, int value)
 {
     PyObject *v = PyInt_FromLong(value);
 
-    if (v != NULL && PyObject_SetAttrString(err, name, v) == -1) {
-        Py_DECREF(v);
+    if (v == NULL || PyObject_SetAttrString(err, name, v) == -1) {
+        Py_XDECREF(v);
         return 0;
     }
     Py_DECREF(v);
@@ -137,7 +137,7 @@ set_error(xmlparseobject *self, enum XML_Error code)
           && set_error_attr(err, "lineno", lineno)) {
         PyErr_SetObject(ErrorObject, err);
     }
-    Py_DECREF(err);
+    Py_XDECREF(err);
     return NULL;
 }
 
@@ -994,7 +994,7 @@ xmlparse_ParseFile(xmlparseobject *self, PyObject *args)
     if (PyFile_Check(f)) {
         fp = PyFile_AsFile(f);
     }
-    else{
+    else {
         fp = NULL;
         readmethod = PyObject_GetAttrString(f, "read");
         if (readmethod == NULL) {