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;