This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] [BZ #15381] Initialize wide struct info.


On Fri, May 17, 2013 at 10:26:02AM +0200, Andreas Schwab wrote:
> OndÅej BÃlka <neleai@seznam.cz> writes:
> 
> > @@ -643,6 +643,7 @@ _IO_no_init (fp, flags, orientation, wd, jmp)
> >  {
> >    _IO_old_init (fp, flags);
> >    fp->_mode = orientation;
> > +  fp->_wide_data = (void *) -1;
> >  #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
> 
> _wide_data is only availble inside this conditional.
> 
Thanks, adjusted.

 * libio/genops.c (_IO_no_init): Initialize wide struct info.

---
 libio/genops.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/libio/genops.c b/libio/genops.c
index 390d8d2..dc7da15 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -661,6 +661,10 @@ _IO_no_init (fp, flags, orientation, wd, jmp)
 
       fp->_wide_data->_wide_vtable = jmp;
     }
+  else
+    /* Cause predicable crash when wide function is called on byte
+       stream.  */
+    fp->_wide_data = (struct _IO_wide_data *) -1;
 #endif
   fp->_freeres_list = NULL;
 }
-- 
1.7.4.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]