Print this page
11506 smatch resync
@@ -29,11 +29,11 @@
{
int arg;
if (!option_info)
return;
- if (__in_fake_assign)
+ if (__in_fake_assign || __in_fake_parameter_assign || __in_function_def)
return;
arg = get_param_num_from_sym(sym);
if (arg >= 0)
set_state_stree(&used_stree, my_id, name, sym, &used);
@@ -49,11 +49,11 @@
if (!name || !sym)
goto free;
arg_nr = get_param_num_from_sym(sym);
if (arg_nr >= 0)
- set_state(my_id, name, sym, &used);
+ set_state_stree(&used_stree, my_id, name, sym, &used);
free:
free_string(name);
}
static void process_states(void)
@@ -67,11 +67,16 @@
if (arg < 0)
continue;
name = get_param_name(tmp);
if (!name)
continue;
+ if (is_recursive_member(name))
+ continue;
+ if (is_ignored_kernel_data(name))
+ continue;
+
sql_insert_return_implies(PARAM_USED, arg, name, "");
} END_FOR_EACH_SM(tmp);
free_stree(&used_stree);
}