Print this page
new smatch
*** 106,116 ****
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)
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);
--- 106,116 ----
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 && 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,142 ****
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)
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))
underflow = 1;
}
if (!overflow && !underflow)
return;
--- 125,143 ----
int overflow = 0;
int underflow = 0;
sm = get_sm_state_expr(my_max_id, expr);
if (sm && slist_has_state(sm->possible, &user_data)) {
! 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)) {
! get_absolute_min(expr, &sval);
! if (sval_is_negative(sval) && sval_cmp_val(sval, -20000) < 0)
underflow = 1;
}
if (!overflow && !underflow)
return;