diff options
Diffstat (limited to 'Python/ceval.c')
| -rw-r--r-- | Python/ceval.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/Python/ceval.c b/Python/ceval.c index 82cc9a2..b50ad3c 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1538,7 +1538,7 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)          TARGET(SET_ADD) {              PyObject *v = POP(); -            PyObject *set = stack_pointer[-oparg]; +            PyObject *set = PEEK(oparg);              int err;              err = PySet_Add(set, v);              Py_DECREF(v); @@ -2796,7 +2796,7 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)              PyObject *map;              int err;              STACKADJ(-2); -            map = stack_pointer[-oparg];  /* dict */ +            map = PEEK(oparg);                      /* dict */              assert(PyDict_CheckExact(map));              err = PyDict_SetItem(map, key, value);  /* map[key] = value */              Py_DECREF(value); @@ -4266,6 +4266,9 @@ do_raise(PyObject *exc, PyObject *cause)          goto raise_error;      } +    assert(type != NULL); +    assert(value != NULL); +      if (cause) {          PyObject *fixed_cause;          if (PyExceptionClass_Check(cause)) { @@ -4292,8 +4295,8 @@ do_raise(PyObject *exc, PyObject *cause)      PyErr_SetObject(type, value);      /* PyErr_SetObject incref's its arguments */ -    Py_XDECREF(value); -    Py_XDECREF(type); +    Py_DECREF(value); +    Py_DECREF(type);      return 0;  raise_error: | 
