Don't ignore too long lines in nss_files (BZ #17079)

This commit is contained in:
Andreas Schwab 2014-06-23 10:24:45 +02:00
parent c5c1335513
commit ac60763eac
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2014-06-23 Andreas Schwab <schwab@suse.de>
[BZ #17079]
* nss/nss_files/files-XXX.c (get_contents): Store overflow marker
before reading the next line.
2014-06-23 Will Newton <will.newton@linaro.org>
* test-skeleton.c (signal_handler): Use printf and %m

2
NEWS
View File

@ -20,7 +20,7 @@ Version 2.20
16854, 16876, 16877, 16878, 16882, 16885, 16888, 16890, 16912, 16915,
16916, 16917, 16922, 16927, 16928, 16932, 16943, 16958, 16965, 16966,
16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, 17042,
17048, 17058, 17062, 17069, 17075.
17048, 17058, 17062, 17069, 17075, 17079.
* Optimized strchr implementation for AArch64. Contributed by ARM Ltd.

View File

@ -198,10 +198,12 @@ get_contents (char *linebuf, size_t len, FILE *stream)
{
int curlen = ((remaining_len > (size_t) INT_MAX) ? INT_MAX
: remaining_len);
char *p = fgets_unlocked (curbuf, curlen, stream);
/* Terminate the line so that we can test for overflow. */
((unsigned char *) curbuf)[curlen - 1] = 0xff;
char *p = fgets_unlocked (curbuf, curlen, stream);
/* EOF or read error. */
if (p == NULL)
return gcr_error;