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
........
diff --git a/Python/symtable.c b/Python/symtable.c
index 1871a42..e0b28c9 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -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