Browse Source

fix buffer overrun in getgrent code when there are no group members

rs-1.0
Rich Felker 15 years ago
parent
commit
fb62ae74d0
  1. 4
      src/passwd/getgrent_a.c

4
src/passwd/getgrent_a.c

@ -37,10 +37,14 @@ struct group *__getgrent_a(FILE *f, struct group *gr, char **line, size_t *size,
*line = 0; *line = 0;
return 0; return 0;
} }
if (*mems) {
mem[0][0] = mems; mem[0][0] = mems;
for (s=mems, i=0; *s; s++) for (s=mems, i=0; *s; s++)
if (*s==',') *s++ = 0, mem[0][++i] = s; if (*s==',') *s++ = 0, mem[0][++i] = s;
mem[0][++i] = 0; mem[0][++i] = 0;
} else {
mem[0][0] = 0;
}
gr->gr_mem = *mem; gr->gr_mem = *mem;
return gr; return gr;
} }

Loading…
Cancel
Save