On Tue, Apr 2, 2013 at 7:57 PM, Andrew Gregory <andrew.gregory.8@gmail.com>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?
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> --- 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