]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Backport for 2.1.3 (if we ever release it; we may have to because
authorGuido van Rossum <guido@python.org>
Thu, 28 Mar 2002 20:21:21 +0000 (20:21 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 28 Mar 2002 20:21:21 +0000 (20:21 +0000)
commitded18d634f2e1615b746dca2698d6a98ff63045d
treebf9938e1f87780587d4a6eb4590bc3750303c120
parent00be96e2b938546167b343317dd6127f85bbd7bd
Backport for 2.1.3 (if we ever release it; we may have to because
this is what Zope 2 will be using in the foreseeable future).

Fix an issue that was reported in but unrelated to the main problem of
SF bug 535905 (Evil Trashcan and GC interaction).

The SETLOCAL() macro should not DECREF the local variable in-place and
then store the new value; it should copy the old value to a temporary
value, then store the new value, and then DECREF the temporary value.
This is because it is possible that during the DECREF the frame is
accessed by other code (e.g. a __del__ method or gc.collect()) and the
variable would be pointing to already-freed memory.

BUGFIX CANDIDATE!
Python/ceval.c