Print this page
new smatch
@@ -106,11 +106,11 @@
if (!name || strcmp(name, "get_user") != 0) {
match_normal_assign(expr);
return;
}
name = expr_to_var(expr->right);
- if (!name || strcmp(name, "__val_gu") != 0)
+ if (!name || (strcmp(name, "__val_gu") != 0 && strcmp(name, "__gu_val")))
goto free;
set_state_expr(my_max_id, expr->left, &user_data);
set_state_expr(my_min_id, expr->left, &user_data);
free:
free_string(name);
@@ -125,18 +125,19 @@
int overflow = 0;
int underflow = 0;
sm = get_sm_state_expr(my_max_id, expr);
if (sm && slist_has_state(sm->possible, &user_data)) {
- if (!get_absolute_max(expr, &max) || sval_cmp_val(max, 20000) > 0)
+ get_absolute_max(expr, &max);
+ if (sval_cmp_val(max, 20000) > 0)
overflow = 1;
}
sm = get_sm_state_expr(my_min_id, expr);
if (sm && slist_has_state(sm->possible, &user_data)) {
- if (!get_absolute_min(expr, &sval) ||
- (sval_is_negative(sval) && sval_cmp_val(sval, -20000) < 0))
+ get_absolute_min(expr, &sval);
+ if (sval_is_negative(sval) && sval_cmp_val(sval, -20000) < 0)
underflow = 1;
}
if (!overflow && !underflow)
return;