Print this page
new smatch

*** 345,355 **** while (expr->type == EXPR_DEREF) { tmp = get_member_offset_from_deref(expr); if (tmp < 0) return 0; tmp_offset += tmp; ! expr = expr->deref; } *offset = tmp_offset; if (expr->type == EXPR_PREOP && expr->op == '*') { expr = strip_expr(expr->unop); --- 345,355 ---- while (expr->type == EXPR_DEREF) { tmp = get_member_offset_from_deref(expr); if (tmp < 0) return 0; tmp_offset += tmp; ! expr = strip_expr(expr->deref); } *offset = tmp_offset; if (expr->type == EXPR_PREOP && expr->op == '*') { expr = strip_expr(expr->unop);