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] [BZ #15381] Initialize wide struct info.


On Thu, May 02, 2013 at 10:15:38PM -0400, Carlos O'Donell wrote:
> On 05/02/2013 01:32 PM, OndÅej BÃlka wrote:
> > Hi,
> > For byte-oriented streams a wide data field takes undefined value.
> > This patch initializes it to NULL for more deterministic behaviour.
> > 
> > OK for 2.18?
> > 
> > 	* libio/genops.c (_IO_no_init): Initialize wide struct info.
> > 
> > ---
> >  libio/genops.c |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> > 
> > diff --git a/libio/genops.c b/libio/genops.c
> > index 390d8d2..18039aa 100644
> > --- a/libio/genops.c
> > +++ b/libio/genops.c
> > @@ -643,6 +643,7 @@ _IO_no_init (fp, flags, orientation, wd, jmp)
> >  {
> >    _IO_old_init (fp, flags);
> >    fp->_mode = orientation;
> > +  fp->_wide_data = NULL;
> >  #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
> >    if (orientation >= 0)
> >      {
> > 
> 
> Is fp->_wide_data ever used uninitialized?
> 

Yes, this caused mutt to crash. See
https://bugzilla.novell.com/show_bug.cgi?id=813498

> Note:
> libio/iofopen.c has:
> 83  _IO_no_init (&new_f->fp.file, 1, 0, NULL, NULL);
> Which would crash at runtime if it was ever used.
> It looks like the conditional that enables this code
> is probably never true e.g. 
> !(defined _LIBC || defined _GLIBCPP_USE_WCHAR_T)
> 
> Cheers,
> Carlos.


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