rewrite error handling to make sense

This commit is contained in:
Benjamin Peterson 2009-04-02 02:27:20 +00:00
parent 22081a1364
commit d1e5493a26
1 changed files with 7 additions and 3 deletions

View File

@ -824,14 +824,18 @@ analyze_child_block(PySTEntryObject *entry, PyObject *bound, PyObject *free,
if (!analyze_block(entry, temp_bound, temp_free, temp_global)) if (!analyze_block(entry, temp_bound, temp_free, temp_global))
goto error; goto error;
success = PyNumber_InPlaceOr(child_free, temp_free) >= 0; if (PyNumber_InPlaceOr(child_free, temp_free) < 0)
goto error;
Py_DECREF(child_free); Py_DECREF(child_free);
success = 1; Py_DECREF(temp_bound);
Py_DECREF(temp_free);
Py_DECREF(temp_global);
return 1;
error: error:
Py_XDECREF(temp_bound); Py_XDECREF(temp_bound);
Py_XDECREF(temp_free); Py_XDECREF(temp_free);
Py_XDECREF(temp_global); Py_XDECREF(temp_global);
return success; return 0;
} }
static int static int