From 10a656fe33d8257531ff3e9a882d3fd7db6ce5b3 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 2 Feb 2011 08:59:04 -0500 Subject: [PATCH] Fix range error handling in sgetspent. --- ChangeLog | 5 +++++ shadow/sgetspent.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0dad46bace..24506f0d07 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-02-02 Andreas Schwab + + * shadow/sgetspent.c: Check return value of __sgetspent_r instead + of errno. + 2011-01-19 Ulrich Drepper [BZ #11724] diff --git a/shadow/sgetspent.c b/shadow/sgetspent.c index ec7f384fa6..f3dce53ea3 100644 --- a/shadow/sgetspent.c +++ b/shadow/sgetspent.c @@ -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;