Message 62429 - Python tracker
It's hard to tell for sure, given the lack of precise definition, but I believe that the attached piece of code "should" work. What it does is make p1 point to c_long(20). So ctypes should probably keep the c_long(20) alive as long as p1 is alive (and not further modified). This test shows that the c_long(20) gets freed instead, making the p1.contents reference garbage.