about summary refs log tree commit diff
path: root/libio/freopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/freopen.c')
-rw-r--r--libio/freopen.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libio/freopen.c b/libio/freopen.c
index 01816a179a..244a90d84e 100644
--- a/libio/freopen.c
+++ b/libio/freopen.c
@@ -68,7 +68,8 @@ freopen (filename, mode, fp)
     {
       INTUSE(_IO_file_close_it) (fp);
       _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps);
-      fp->_wide_data->_wide_vtable = &INTUSE(_IO_wfile_jumps);
+      if (fp->_vtable_offset == 0 && fp->_wide_data != NULL)
+	fp->_wide_data->_wide_vtable = &INTUSE(_IO_wfile_jumps);
       result = INTUSE(_IO_file_fopen) (fp, filename, mode, 1);
       if (result != NULL)
 	result = __fopen_maybe_mmap (result);