Print this page
12724 update smatch to 0.6.1-rc1-il-5
@@ -92,17 +92,19 @@
if (is_capped_macro(expr))
return 1;
if (expr->type == EXPR_BINOP) {
struct range_list *left_rl, *right_rl;
+ sval_t sval;
- if (expr->op == '&')
+ if (expr->op == '&' && !get_value(expr->right, &sval))
return 1;
if (expr->op == SPECIAL_RIGHTSHIFT)
+ return 0;
+ if (expr->op == '%' &&
+ !get_value(expr->right, &sval) && is_capped(expr->right))
return 1;
- if (expr->op == '%' && is_capped(expr->right))
- return 1;
if (!is_capped(expr->left))
return 0;
if (expr->op == '/')
return 1;
if (!is_capped(expr->right))