On 04/03/13 at 07:14am, Dave Reisner wrote: > On Tue, Apr 2, 2013 at 7:57 PM, Andrew Gregory > <[email protected]>wrote: > > > strtol already ignores leading whitespace so it doesn't make much sense > > for us to worry about trailing whitespace. > > > > What is this actually fixing? The only place we call parseindex from makes > gratuitous use of both strtok_r (which compresses empty fields -- in this > case, whitespace and commas), and strtrim's input. Is there actually a > reproducible case where trailing whitespace (or leading, for that matter) > can be passed to parseindex?
strtok_r only handles spaces and only the full range is trimmed, not the individual numbers. So "1- 2" is valid input, but "1 -2" is not (those are tabs not spaces). > > > > Signed-off-by: Andrew Gregory <[email protected]> > > --- > > src/pacman/util.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/src/pacman/util.c b/src/pacman/util.c > > index 7b7dace..115f328 100644 > > --- a/src/pacman/util.c > > +++ b/src/pacman/util.c > > @@ -1292,6 +1292,10 @@ static int parseindex(char *s, int *val, int min, > > int max) > > { > > char *endptr = NULL; > > int n = strtol(s, &endptr, 10); > > + /* strtol skips leading whitespace, don't worry about trailing > > whitespace */ > > + while(isspace(*endptr)) { > > + endptr++; > > + } > > if(*endptr == '\0') { > > if(n < min || n > max) { > > pm_printf(ALPM_LOG_ERROR, > > -- > > 1.8.2 > > > > > >
