Mercurial > cpython-lru_cache-weakref
diff Python/symtable.c @ 52715:953553ae8b84 2.6
Merged revisions 71026 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71026 | benjamin.peterson | 2009-04-01 21:52:46 -0500 (Wed, 01 Apr 2009) | 1 line
fix error handling
........
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Thu, 02 Apr 2009 02:58:49 +0000 |
| parents | 6910792fcd4b |
| children | eaebe2460377 |
line wrap: on
line diff
--- a/Python/symtable.c Wed Apr 01 20:52:52 2009 +0000 +++ b/Python/symtable.c Thu Apr 02 02:58:49 2009 +0000 @@ -731,7 +731,6 @@ PyObject *global, PyObject* child_free) { PyObject *temp_bound = NULL, *temp_global = NULL, *temp_free = NULL; - int success = 0; /* Copy the bound and global dictionaries. @@ -758,13 +757,17 @@ if (!analyze_block(entry, temp_bound, temp_free, temp_global)) goto error; - success = PyDict_Update(child_free, temp_free) >= 0; - success = 1; + if (PyDict_Update(child_free, temp_free) < 0) + goto error; + 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
