pgrep: Off by one in realloc in option handling
The loop that parses options has a of by one bug where the realloc adds one byte, instead of one list element. This is exposed when you try things like: pgrep -t,,,, Signed-off-by: Craig Small <csmall@enc.com.au>
This commit is contained in:
parent
fd77ca1dc6
commit
6ed8cf3444
2
pgrep.c
2
pgrep.c
@ -160,7 +160,7 @@ static struct el *split_list (const char *restrict str, int (*convert)(const cha
|
||||
if (i == size) {
|
||||
size = size * 5 / 4 + 4;
|
||||
/* add 1 because slot zero is a count */
|
||||
list = xrealloc (list, 1 + size * sizeof *list);
|
||||
list = xrealloc (list, (1 + size) * sizeof *list);
|
||||
}
|
||||
sep_pos = strchr (ptr, ',');
|
||||
if (sep_pos)
|
||||
|
Loading…
Reference in New Issue
Block a user