From: Dan Carpenter Date: Tue, 23 Oct 2012 08:44:29 +0000 (+0300) Subject: absolute: fix parameter info counting X-Git-Tag: 1.57~206 X-Git-Url: https://repo.or.cz/w/smatch.git/commitdiff_plain/4d87fde1dee5fdeacb9cedaacd8eb3aa361b0a6a absolute: fix parameter info counting The counting was being done wrong so it messed up the database. Signed-off-by: Dan Carpenter --- diff --git a/smatch_absolute.c b/smatch_absolute.c index 8030ffba..82fee5ff 100644 --- a/smatch_absolute.c +++ b/smatch_absolute.c @@ -140,15 +140,18 @@ static void match_call_info(struct expression *expr) { struct expression *arg; char *name; - int i = 0; + int i; name = get_fnptr_name(expr->fn); if (!name) return; + i = -1; FOR_EACH_PTR(expr->args, arg) { long long min, max; + i++; + if (!get_absolute_min(arg, &min)) continue; if (!get_absolute_max(arg, &max)) @@ -160,7 +163,6 @@ static void match_call_info(struct expression *expr) sm_msg("info: passes absolute_limits '%s' %d '$$' %s %s", name, i, show_range(min, max), is_static(expr->fn) ? "static" : "global"); - i++; } END_FOR_EACH_PTR(arg); free_string(name);