diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2008-08-26 22:02:58 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2008-08-26 22:02:58 (GMT) |
commit | e2dffc0aeb6e03d8e6512a13cb3fe05562f7c655 (patch) | |
tree | b01c31ee5f3b2625cbf01c52b2bea67061c02226 | |
parent | 2b9e040091cbb5e0c1ecd0479cca74d07a0e10d7 (diff) | |
download | cpython-e2dffc0aeb6e03d8e6512a13cb3fe05562f7c655.zip cpython-e2dffc0aeb6e03d8e6512a13cb3fe05562f7c655.tar.gz cpython-e2dffc0aeb6e03d8e6512a13cb3fe05562f7c655.tar.bz2 |
#3663: extra DECREF on syntax errors.
Patch by Amaury Forgeot d'Arc, reviewed by Benjamin Peterson.
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/pythonrun.c | 5 |
2 files changed, 6 insertions, 1 deletions
@@ -12,6 +12,8 @@ What's New in Python 3.0 release candidate 1 Core and Builtins ----------------- +- Issue #3663: Py_None was decref'd when printing SyntaxErrors. + - Issue #3657: Fix uninitialized memory read when pickling longs. Found by valgrind. diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 1ee062f..39c86e7 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1242,7 +1242,10 @@ PyErr_PrintEx(int set_sys_last_vars) if (exception == NULL) return; PyErr_NormalizeException(&exception, &v, &tb); - tb = tb ? tb : Py_None; + if (tb == NULL) { + tb = Py_None; + Py_INCREF(tb); + } PyException_SetTraceback(v, tb); if (exception == NULL) return; |