diff -r d3cda8cf4d42 Objects/fileobject.c --- a/Objects/fileobject.c Mon Aug 17 22:10:47 2015 -0400 +++ b/Objects/fileobject.c Tue Aug 18 14:22:46 2015 +0300 @@ -319,6 +319,7 @@ open_the_file(PyFileObject *f, char *name, char *mode) { char *newmode; + int newmodelen; assert(f != NULL); assert(PyFile_Check(f)); #ifdef MS_WINDOWS @@ -331,7 +332,9 @@ assert(f->f_fp == NULL); /* probably need to replace 'U' by 'rb' */ - newmode = PyMem_MALLOC(strlen(mode) + 3); + newmodelen = strlen(mode) + 3; + newmode = PyMem_MALLOC(newmodelen); + memset(newmode, 0, newmodelen); if (!newmode) { PyErr_NoMemory(); return NULL;