fix buffer overrun in getgrent code when there are no group members
This commit is contained in:
parent
f9ed11f3e1
commit
fb62ae74d0
1 changed files with 8 additions and 4 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
mem[0][0] = mems;
|
if (*mems) {
|
||||||
for (s=mems, i=0; *s; s++)
|
mem[0][0] = mems;
|
||||||
if (*s==',') *s++ = 0, mem[0][++i] = s;
|
for (s=mems, i=0; *s; s++)
|
||||||
mem[0][++i] = 0;
|
if (*s==',') *s++ = 0, mem[0][++i] = s;
|
||||||
|
mem[0][++i] = 0;
|
||||||
|
} else {
|
||||||
|
mem[0][0] = 0;
|
||||||
|
}
|
||||||
gr->gr_mem = *mem;
|
gr->gr_mem = *mem;
|
||||||
return gr;
|
return gr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue