Issue #4237: io.FileIO() was raising invalid warnings caused by insufficient initialization of PyFileIOObject struct members.
diff --git a/Modules/_fileio.c b/Modules/_fileio.c
index 3b0f81b..4b35194 100644
--- a/Modules/_fileio.c
+++ b/Modules/_fileio.c
@@ -86,6 +86,10 @@
self = (PyFileIOObject *) type->tp_alloc(type, 0);
if (self != NULL) {
self->fd = -1;
+ self->readable = 0;
+ self->writable = 0;
+ self->seekable = -1;
+ self->closefd = 1;
self->weakreflist = NULL;
}
@@ -179,8 +183,6 @@
}
}
- self->readable = self->writable = 0;
- self->seekable = -1;
s = mode;
while (*s) {
switch (*s++) {