Issue #10253: FileIO leaks a file descriptor when trying to open a file
for append that isn't seekable. Patch by Brian Brazil.
This commit is contained in:
parent
daf83acf00
commit
8d2b51b46a
|
@ -339,6 +339,7 @@ class OtherFileTests(unittest.TestCase):
|
|||
f.truncate(15)
|
||||
self.assertEqual(f.tell(), 5)
|
||||
self.assertEqual(f.seek(0, os.SEEK_END), 15)
|
||||
f.close()
|
||||
|
||||
def testTruncateOnWindows(self):
|
||||
def bug801631():
|
||||
|
|
|
@ -57,6 +57,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #10253: FileIO leaks a file descriptor when trying to open a file
|
||||
for append that isn't seekable. Patch by Brian Brazil.
|
||||
|
||||
- Support context manager protocol for file-like objects returned by
|
||||
mailbox ``get_file()`` methods.
|
||||
|
||||
|
|
|
@ -396,8 +396,13 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
|
|||
end of file (otherwise, it might be done only on the
|
||||
first write()). */
|
||||
PyObject *pos = portable_lseek(self->fd, NULL, 2);
|
||||
if (pos == NULL)
|
||||
if (pos == NULL) {
|
||||
if (closefd) {
|
||||
close(self->fd);
|
||||
self->fd = -1;
|
||||
}
|
||||
goto error;
|
||||
}
|
||||
Py_DECREF(pos);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue