Fix range error handling in sgetspent.

This commit is contained in:
Andreas Schwab 2011-02-02 08:59:04 -05:00 committed by Ulrich Drepper
parent 3321010338
commit 10a656fe33
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2011-02-02 Andreas Schwab <schwab@redhat.com>
* shadow/sgetspent.c: Check return value of __sgetspent_r instead
of errno.
2011-01-19 Ulrich Drepper <drepper@gmail.com>
[BZ #11724]

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -49,8 +49,8 @@ sgetspent (const char *string)
}
while (buffer != NULL
&& __sgetspent_r (string, &resbuf, buffer, buffer_size, &result) != 0
&& errno == ERANGE)
&& (__sgetspent_r (string, &resbuf, buffer, buffer_size, &result)
== ERANGE))
{
char *new_buf;
buffer_size += BUFLEN_SPWD;