diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-04-02 02:27:20 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-04-02 02:27:20 (GMT) |
commit | d1e5493a26a310a25722af3ad342212d2677672c (patch) | |
tree | 50bf54bf4b65138be997b2ba4b193fd9efd0e83a /Python | |
parent | 22081a1364f1f6e56327b6d0b167d84684c479e1 (diff) | |
download | cpython-d1e5493a26a310a25722af3ad342212d2677672c.zip cpython-d1e5493a26a310a25722af3ad342212d2677672c.tar.gz cpython-d1e5493a26a310a25722af3ad342212d2677672c.tar.bz2 |
rewrite error handling to make sense
Diffstat (limited to 'Python')
-rw-r--r-- | Python/symtable.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Python/symtable.c b/Python/symtable.c index 92b2232..3c1735c 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -824,14 +824,18 @@ analyze_child_block(PySTEntryObject *entry, PyObject *bound, PyObject *free, if (!analyze_block(entry, temp_bound, temp_free, temp_global)) goto error; - success = PyNumber_InPlaceOr(child_free, temp_free) >= 0; + if (PyNumber_InPlaceOr(child_free, temp_free) < 0) + goto error; Py_DECREF(child_free); - success = 1; + Py_DECREF(temp_bound); + Py_DECREF(temp_free); + Py_DECREF(temp_global); + return 1; error: Py_XDECREF(temp_bound); Py_XDECREF(temp_free); Py_XDECREF(temp_global); - return success; + return 0; } static int |