ó o®¸Qc@sdZddlZddlZdefd„ƒYZdefd„ƒYZd„Zdefd „ƒYZej eƒƒZ e j eƒƒdS( sÖ General example for an attack against code like this: Py_DECREF(obj->attr); obj->attr = ...; here in Module/_json.c:scanner_init(). Explanation: if the first Py_DECREF() calls either a __del__ or a weakref callback, it will run while the 'obj' appears to have in 'obj->attr' still the old reference to the object, but not holding the reference count any more. Status: progress has been made replacing these cases, but there is an infinite number of such cases. iÿÿÿÿNtCtx1cBs2eZdZdZdZdZdZdZdZ RS(tutf8N( t__name__t __module__tencodingtNonetstrictt object_hooktobject_pairs_hookt parse_floatt parse_inttparse_constant(((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyRstFoocBseZRS((RR(((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyR scGstjjGHdS(N(tscannerRt__dict__(targs((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyt delete_mestCtx2cBseZed„ƒZRS(cCs.tdƒ}tƒ|_tj|tƒa|S(NR(R tglobalstabctweakreftrefRtwref(tselftf((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyR#s  (RRtpropertyR(((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyR"s( t__doc__t_jsonRtobjectRtunicodeR RRt make_scannerR t__init__(((s</sys/lib/python2.7/test/crashers/decref_before_assignment.pyts