diff --git Objects/fileobject.c Objects/fileobject.c index f479501..55955d3 100644 --- Objects/fileobject.c +++ Objects/fileobject.c @@ -649,8 +649,10 @@ static PyObject * file_close(PyFileObject *f) { PyObject *sts = close_the_file(f); - PyMem_Free(f->f_setbuf); - f->f_setbuf = NULL; + if (sts) { + PyMem_Free(f->f_setbuf); + f->f_setbuf = NULL; + } return sts; }