X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fpasswd%2Fgetgrent_a.c;h=7fc389d46332a9ef408d29c67d853978a5dc5082;hb=5af1f5942b2068d99182991dc212bdb3f5e9973d;hp=bafc9ed2f05f4b7668ded959fa03b84f0845dd33;hpb=7c5f0a5212127b70486159af80e24fd96262ec88;p=musl diff --git a/src/passwd/getgrent_a.c b/src/passwd/getgrent_a.c index bafc9ed2..7fc389d4 100644 --- a/src/passwd/getgrent_a.c +++ b/src/passwd/getgrent_a.c @@ -18,7 +18,7 @@ int __getgrent_a(FILE *f, struct group *gr, char **line, size_t *size, char ***m pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); for (;;) { if ((l=getline(line, size, f)) < 0) { - rv = errno; + rv = ferror(f) ? errno : 0; free(*line); *line = 0; gr = 0; @@ -48,7 +48,8 @@ int __getgrent_a(FILE *f, struct group *gr, char **line, size_t *size, char ***m rv = errno; free(*line); *line = 0; - return 0; + gr = 0; + goto end; } if (*mems) { mem[0][0] = mems;