diff --git a/src/id.c b/src/id.c index 91c1c34..b6e636b 100644 --- a/src/id.c +++ b/src/id.c @@ -99,7 +99,7 @@ static int _id_G(char * user, int flagn) setgrent(); for(gr = getgrent(); gr != NULL; gr = getgrent()) { - for(p = gr->gr_mem; *p != NULL; p++) + for(p = gr->gr_mem; p != NULL && *p != NULL; p++) { if(strcmp(user, *p) == 0) { @@ -222,7 +222,7 @@ static int _id_all(char * user) printf("%s%u(%s)", " groups=", (unsigned)pw->pw_gid, user); setgrent(); for(gr = getgrent(); gr != NULL; gr = getgrent()) - for(p = gr->gr_mem; *p != NULL; p++) + for(p = gr->gr_mem; p != NULL && *p != NULL; p++) if(strcmp(user, *p) == 0) printf(",%u(%s)", (unsigned)gr->gr_gid, gr->gr_name);