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] |
On Sun, Aug 9, 2015 at 7:36 PM, Mike Frysinger <vapier@gentoo.org> wrote: > On 09 Aug 2015 15:28, Paul Pluzhnikov wrote: >> +/* Check valid open mode. Only "(r|w|a)\+?" are valid. */ > > this is not what the documentation states: AFAICT, only "r", "w", "w+" and "a" are really used by __fmemopen, but I overlooked the _IO_fopencookie part. > https://www.gnu.org/software/libc/manual/html_node/String-Streams.html > "The argument opentype is the same as in fopen" > https://www.gnu.org/software/libc/manual/html_node/Opening-Streams.html > there are various GNU extensions here, and the standard 'b' flag Handling of 'b' in fmemopen has been removed: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fdb7d390dd0d96e4a8239c46f3aa64598b90842b I also filed https://bugzilla.kernel.org/show_bug.cgi?id=102551 to update man7.org description ... > so the only thing we should check is whether the first byte is [rwa]. and it > seems to me that _IO_fopencookie (which fmemopen tails into) already does just > that for us. Oh, I see. The bug is that _IO_fopencookie doesn't set errno. In addition, if _IO_fopencookie fails, we leak memory. Revised patch attached. 2015-08-09 Paul Pluzhnikov <ppluzhnikov@google.com> [BZ #18757] * libio/fmemopen.c (__fmemopen): Set EINVAL and don't leak memory. * libio/oldfmemopen.c (__old_fmemopen): Likewise. * libio/test-fmemopen.c (do_bz18757): New test. -- Paul Pluzhnikov
Attachment:
bz18757-20150809a.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |