[Python-Dev] Proper initialization of structs
Christian Heimes
lists at cheimes.de
Thu Oct 30 15:20:20 CET 2008
I like to raise attention for a problem revealed by
http://bugs.python.org/issue4237
---
The bug was caused by a design flaw -- which was partly my fault. Some
elements of the PyFileIOObject struct were initialized in __new__ while
other parts were initialized in __init__. I've moved the initialization
to __new__.
We should add a rule that all struct members must be properly
initialized in __new__. In the past Victor's fuzzying tool has revealed
several crashers related to similar design flaws.
I'm raising the severity of the bug to release blocker because I can't
predict if the problem can be abused to crash the interpreter. We should
also review all __new__ and __init__ methods of objects and extension
modules for similar issues.
---
The same design flaw was responsible for bugs like the pickle crasher
http://bugs.python.org/issue3664. I like to establish a rule that *all*
struct members must be initialized properly in the type's tp_new function.
Comments?
Christian
More information about the Python-Dev
mailing list