summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/ceval.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 6aaa52d..4b14784 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -704,11 +704,11 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
PyObject *v = POP(); \
Py_XDECREF(v); \
} \
- Py_XDECREF(tstate->exc_type); \
+ Py_CLEAR(tstate->exc_type); \
+ Py_CLEAR(tstate->exc_value); \
+ Py_CLEAR(tstate->exc_traceback); \
tstate->exc_type = POP(); \
- Py_XDECREF(tstate->exc_value); \
tstate->exc_value = POP(); \
- Py_XDECREF(tstate->exc_traceback); \
tstate->exc_traceback = POP();
#define SAVE_EXC_STATE() \
@@ -716,9 +716,9 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
Py_XINCREF(tstate->exc_type); \
Py_XINCREF(tstate->exc_value); \
Py_XINCREF(tstate->exc_traceback); \
- Py_XDECREF(f->f_exc_type); \
- Py_XDECREF(f->f_exc_value); \
- Py_XDECREF(f->f_exc_traceback); \
+ Py_CLEAR(f->f_exc_type); \
+ Py_CLEAR(f->f_exc_value); \
+ Py_CLEAR(f->f_exc_traceback); \
f->f_exc_type = tstate->exc_type; \
f->f_exc_value = tstate->exc_value; \
f->f_exc_traceback = tstate->exc_traceback; \