Closes #15488: Closed files keep their buffer alive
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index 334734b..432349a 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -519,6 +519,11 @@
 
     res = PyObject_CallMethodObjArgs(self->raw, _PyIO_str_close, NULL);
 
+    if (self->buffer) {
+        PyMem_Free(self->buffer);
+        self->buffer = NULL;
+    }
+
 end:
     LEAVE_BUFFERED(self)
     return res;