[PATCH] libio: Fix wrong reference to byte stream
Rocket Ma
marocketbd@gmail.com
Wed Mar 18 05:06:37 GMT 2026
* libio/wgenops.c: Fix _IO_wdefault_pbackfail and _IO_wdefault_finish by
deferencing wide stream pointers, should be a mistake (bug 33998[1] and
bug 33999[2])
[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=33998
[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=33999
Signed-off-by: Rocket Ma <marocketbd@gmail.com>
---
libio/wgenops.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libio/wgenops.c b/libio/wgenops.c
index 064d71266d..3ebbb941f0 100644
--- a/libio/wgenops.c
+++ b/libio/wgenops.c
@@ -110,8 +110,8 @@ _IO_wdefault_pbackfail (FILE *fp, wint_t c)
{
if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base
&& !_IO_in_backup (fp)
- && (wint_t) fp->_IO_read_ptr[-1] == c)
- --fp->_IO_read_ptr;
+ && (wint_t) fp->_wide_data->_IO_read_ptr[-1] == c)
+ --fp->_wide_data->_IO_read_ptr;
else
{
/* Need to handle a filebuf in write mode (switch to read mode). FIXME!*/
@@ -181,10 +181,10 @@ _IO_wdefault_finish (FILE *fp, int dummy)
for (mark = fp->_markers; mark != NULL; mark = mark->_next)
mark->_sbuf = NULL;
- if (fp->_IO_save_base)
+ if (fp->_wide_data->_IO_save_base)
{
free (fp->_wide_data->_IO_save_base);
- fp->_IO_save_base = NULL;
+ fp->_wide_data->_IO_save_base = NULL;
}
#ifdef _IO_MTSAFE_IO
--
2.53.0
More information about the Libc-alpha
mailing list