From 131bb60a2bde3b373906701c2685f3dc01871805 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 14 Jul 2015 14:34:05 +0300 Subject: [PATCH] helper: improve get_complication_score() The ifdef was ugly and we should probably handle dereferences. Signed-off-by: Dan Carpenter --- smatch_helper.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/smatch_helper.c b/smatch_helper.c index aef3dcad..034e92d1 100644 --- a/smatch_helper.c +++ b/smatch_helper.c @@ -386,15 +386,16 @@ int get_complication_score(struct expression *expr) if (is_local_variable(expr)) return 1; return 999; - case EXPR_VALUE: - return 0; -#if 0 case EXPR_PREOP: - if (expr->op == SPECIAL_INCREMENT || - expr->op == SPECIAL_DECREMENT) + if (expr->op == '*') + return score + get_complication_score(expr->unop); + else return 999; - return get_complication_score(expr->unop); -#endif + break; + case EXPR_DEREF: + return score + get_complication_score(expr->deref); + case EXPR_VALUE: + return 0; default: return 999; } -- 2.11.4.GIT