]> granicus.if.org Git - python/commitdiff
Only release buffer after file has been closed. Fixes #800824.
authorMartin v. Löwis <martin@v.loewis.de>
Sun, 7 Sep 2003 20:42:29 +0000 (20:42 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sun, 7 Sep 2003 20:42:29 +0000 (20:42 +0000)
Will backport to 2.2.

Objects/fileobject.c

index cdcacc41aff08edee6f666c94ce3c04e69b58821..d7c9da5261d0355f555f9d50e63f8d2c56461b78 100644 (file)
@@ -388,7 +388,6 @@ static PyObject *
 file_close(PyFileObject *f)
 {
        int sts = 0;
-       PyMem_Free(f->f_setbuf);
        if (f->f_fp != NULL) {
                if (f->f_close != NULL) {
                        Py_BEGIN_ALLOW_THREADS
@@ -398,6 +397,7 @@ file_close(PyFileObject *f)
                }
                f->f_fp = NULL;
        }
+       PyMem_Free(f->f_setbuf);
        if (sts == EOF)
                return PyErr_SetFromErrno(PyExc_IOError);
        if (sts != 0)