mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
1999-01-23 Ulrich Drepper <drepper@cygnus.com> * nss/nss_files/files-XXX.c (internal_getent): Make sure the buffer has at least two bytes (not one). Correct buflen parameter type. * nss/nss_files/files-alias.c (get_next_alias): Make sure buffer has at least two bytes. Use fgets_unlocked instead of fgets. * ctype/ctype.h: Don't user __tolower directly for tolower implementation. Use inline function which tests for the range first. Make _tolower equivalent to old tolower macros. Likewise for toupper. * ctype/ctype.c: Change tolower/toupper definition accordingly. * argp/argp-help.c: Use _tolower instead of tolower if possible. * inet/ether_aton_r.c: Likewise. * inet/ether_line.c: Likewise. * inet/rcmd.c: Likewise. * intl/l10nflist.c: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/localedef.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * posix/regex.c: Likewise. * resolv/inet_net_pton.c: Likewise. * stdio-common/printf_fp.c: Likewise. * stdio-common/vfscanf.c: Likewise. * sysdeps/generic/strcasestr.c: Likewise. * math/bits/mathcalls.h: Fix typo.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/* Mail alias file parser in nss_files module.
|
||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@@ -148,10 +148,15 @@ get_next_alias (const char *match, struct aliasent *result,
|
||||
size_t room_left = buflen - (buflen % __alignof__ (char *));
|
||||
char *line;
|
||||
|
||||
/* Check whether the buffer is large enough for even trying to
|
||||
read something. */
|
||||
if (room_left < 2)
|
||||
goto no_more_room;
|
||||
|
||||
/* Read the first line. It must contain the alias name and
|
||||
possibly some alias names. */
|
||||
first_unused[room_left - 1] = '\xff';
|
||||
line = fgets (first_unused, room_left, stream);
|
||||
line = fgets_unlocked (first_unused, room_left, stream);
|
||||
if (line == NULL)
|
||||
/* Nothing to read. */
|
||||
break;
|
||||
@@ -245,7 +250,8 @@ get_next_alias (const char *match, struct aliasent *result,
|
||||
while (! feof (listfile))
|
||||
{
|
||||
first_unused[room_left - 1] = '\xff';
|
||||
line = fgets (first_unused, room_left, listfile);
|
||||
line = fgets_unlocked (first_unused, room_left,
|
||||
listfile);
|
||||
if (line == NULL)
|
||||
break;
|
||||
if (first_unused[room_left - 1] != '\xff')
|
||||
@@ -345,7 +351,7 @@ get_next_alias (const char *match, struct aliasent *result,
|
||||
/* The just read character is a white space and so
|
||||
can be ignored. */
|
||||
first_unused[room_left - 1] = '\xff';
|
||||
line = fgets (first_unused, room_left, stream);
|
||||
line = fgets_unlocked (first_unused, room_left, stream);
|
||||
if (first_unused[room_left - 1] != '\xff')
|
||||
goto no_more_room;
|
||||
cp = strpbrk (line, "#\n");
|
||||
|
||||
Reference in New Issue
Block a user