Don't read past end of buffer in fmemopen

This commit is contained in:
Andreas Schwab 2011-03-04 00:48:00 -05:00 committed by Ulrich Drepper
parent a5543c6ad8
commit 9d25c392ba
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2011-03-03 Andreas Schwab <schwab@redhat.com>
* libio/fmemopen.c (fmemopen): Don't read past end of buffer.
2011-03-03 Roland McGrath <roland@redhat.com>
* setjmp/bits/setjmp2.h: Canonicalize comment formatting.

View File

@ -1,5 +1,5 @@
/* Fmemopen implementation.
Copyright (C) 2000, 2002, 2005, 2006, 2008, 2009
Copyright (C) 2000, 2002, 2005, 2006, 2008, 2009, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Hanno Mueller, kontakt@hanno.de, 2000.
@ -243,7 +243,7 @@ fmemopen (void *buf, size_t len, const char *mode)
if (mode[0] == 'w')
c->buffer[0] = '\0';
c->maxpos = strlen (c->buffer);
c->maxpos = strnlen (c->buffer, len);
if (mode[0] == 'a')
c->pos = c->maxpos;