diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-08-02 16:57:42 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-08-02 16:57:42 +0000 |
commit | 5d550e87dde9b5a3321c98513099d7da601319ef (patch) | |
tree | 2533cbd8626062bb158d72ceda221d35c76605a1 /nscd | |
parent | ebe3a574be44dc0d7724945e8cea53b92297593b (diff) | |
download | glibc-5d550e87dde9b5a3321c98513099d7da601319ef.zip glibc-5d550e87dde9b5a3321c98513099d7da601319ef.tar.gz glibc-5d550e87dde9b5a3321c98513099d7da601319ef.tar.bz2 |
Updated to fedora-glibc-20060802T1650cvs/fedora-glibc-2_4_90-16
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/initgrcache.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c index f2ff03a..b4ae139 100644 --- a/nscd/initgrcache.c +++ b/nscd/initgrcache.c @@ -117,6 +117,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, goto out; /* Nothing added yet. */ + bool any_success = false; while (! no_more) { long int prev_start = start; @@ -158,6 +159,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN) __libc_fatal ("illegal status in internal_getgrouplist"); + any_success |= status == NSS_STATUS_SUCCESS; + if (status != NSS_STATUS_SUCCESS && nss_next_action (nip, status) == NSS_ACTION_RETURN) break; @@ -171,7 +174,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, ssize_t total; ssize_t written; out: - if (start == 0) + if (!any_success) { /* Nothing found. Create a negative result record. */ written = total = sizeof (notfound); |