]> granicus.if.org Git - python/commitdiff
merge
authorRaymond Hettinger <python@rcn.com>
Fri, 11 Nov 2016 12:32:11 +0000 (04:32 -0800)
committerRaymond Hettinger <python@rcn.com>
Fri, 11 Nov 2016 12:32:11 +0000 (04:32 -0800)
Python/ceval.c

index d08b316db45949ef2aa0efdc5c6e9698ef551bc7..fe562a8450bf04b9d02979f0b14766d591040217 100644 (file)
@@ -2468,8 +2468,9 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
         TARGET(STORE_DEREF) {
             PyObject *v = POP();
             PyObject *cell = freevars[oparg];
-            PyCell_Set(cell, v);
-            Py_DECREF(v);
+            PyObject *oldobj = PyCell_GET(cell);
+            PyCell_SET(cell, v);
+            Py_XDECREF(oldobj);
             DISPATCH();
         }