Issue #7079: Fix a possible crash when closing a file object while using
it from another thread.  Patch by Daniel Stutzbach.
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 6b95a0c..d83c054 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -649,8 +649,10 @@
 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;
 }