diff options
author | 2024-06-04 11:01:11 +0200 | |
---|---|---|
committer | 2024-06-04 14:42:06 +0200 | |
commit | b2c3ee3724900975deaf5eae57640bb0c2d7315e (patch) | |
tree | c750d128eabe728ccae047d05bbf0c66f40d0c7c | |
parent | Add new AArch64 HWCAP2 definitions from Linux 6.9 to bits/hwcap.h (diff) | |
download | glibc-b2c3ee3724900975deaf5eae57640bb0c2d7315e.tar.xz glibc-b2c3ee3724900975deaf5eae57640bb0c2d7315e.zip |
Remove memory leak in fdopen (bug 31840)
Deallocate the memory for the FILE structure when seeking to the end fails
in append mode.
Fixes: ea33158c96 ("Fix offset caching for streams and use it for ftell (BZ #16680)")
-rw-r--r-- | libio/iofdopen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libio/iofdopen.c b/libio/iofdopen.c index 2583fb8255..14fbc7b257 100644 --- a/libio/iofdopen.c +++ b/libio/iofdopen.c @@ -156,7 +156,11 @@ _IO_new_fdopen (int fd, const char *mode) { off64_t new_pos = _IO_SYSSEEK (&new_f->fp.file, 0, _IO_seek_end); if (new_pos == _IO_pos_BAD && errno != ESPIPE) - return NULL; + { + _IO_un_link (&new_f->fp); + free (new_f); + return NULL; + } } return &new_f->fp.file; } |