• Guido van Rossum's avatar
    Fix an issue that was reported in but unrelated to the main problem of · cfbf1a33
    Guido van Rossum yazdı
    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!
    cfbf1a33
ceval.c 83.7 KB