From 283cfa12a4ab72030182c9586e5d7119362b8fe5 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 17 Jan 2018 15:11:15 +0300 Subject: [PATCH] assigned_expr: handle fake assignments better If the fake assignment provides any information at all then record the assignment. Signed-off-by: Dan Carpenter --- check_assigned_expr.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/check_assigned_expr.c b/check_assigned_expr.c index 540cf886..5543cfcc 100644 --- a/check_assigned_expr.c +++ b/check_assigned_expr.c @@ -61,8 +61,16 @@ static void match_assignment(struct expression *expr) if (expr->op != '=') return; - if (is_fake_call(expr->right) || __in_fake_assign) + if (is_fake_call(expr->right)) return; + if (__in_fake_assign) { + struct range_list *rl; + + if (!get_implied_rl(expr->right, &rl)) + return; + if (is_whole_rl(rl)) + return; + } left_name = expr_to_var_sym(expr->left, &left_sym); if (!left_name || !left_sym) -- 2.11.4.GIT