You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
993 B
27 lines
993 B
commit ae4d44b1d501421ad9a3af95279b8f4d1546f1ce |
|
Author: Siddhesh Poyarekar <siddhesh@sourceware.org> |
|
Date: Tue Sep 3 14:58:33 2024 -0400 |
|
|
|
libio: Attempt wide backup free only for non-legacy code |
|
|
|
_wide_data and _mode are not available in legacy code, so do not attempt |
|
to free the wide backup buffer in legacy code. |
|
|
|
Resolves: BZ #32137 and BZ #27821 |
|
|
|
Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> |
|
Reviewed-by: Florian Weimer <fweimer@redhat.com> |
|
|
|
diff --git a/libio/genops.c b/libio/genops.c |
|
index b5fc53fd1ef6e911..99ef9d03505f3238 100644 |
|
--- a/libio/genops.c |
|
+++ b/libio/genops.c |
|
@@ -799,7 +799,7 @@ _IO_unbuffer_all (void) |
|
/* Free up the backup area if it was ever allocated. */ |
|
if (_IO_have_backup (fp)) |
|
_IO_free_backup_area (fp); |
|
- if (fp->_mode > 0 && _IO_have_wbackup (fp)) |
|
+ if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp)) |
|
_IO_free_wbackup_area (fp); |
|
|
|
if (! (fp->_flags & _IO_UNBUFFERED)
|
|
|