Print this page
11506 smatch resync

@@ -30,10 +30,16 @@
                 set_state(my_id, sm->name, sm->sym, &ok);
 }
 
 static void match_assign(const char *fn, struct expression *expr, void *unused)
 {
+        struct range_list *rl;
+
+        if (!get_implied_rl(expr->right, &rl))
+                return;
+        if (rl_max(rl).value != 1)
+                return;
         set_state_expr(my_id, expr->left, &positive);
 }
 
 static void match_condition(struct expression *expr)
 {