From 93985fe8c94ab034a84ca2d0a9e63ba4c9cc39c5 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 6 Feb 2013 15:10:11 +0100 Subject: [PATCH] Avoid triggering a division by zero in the overflow check Avoid that expressions like 7 >> (8 * 0) trigger a division by zero error message. This patch fixes a bug introduced in commit 48c2cc03bc3a50de2aaa70ff09cdeef8d03dab2e. Signed-off-by: Bart Van Assche --- smatch_sval.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/smatch_sval.c b/smatch_sval.c index 5fd7ca68..c1911f56 100644 --- a/smatch_sval.c +++ b/smatch_sval.c @@ -447,9 +447,8 @@ int sval_binop_overflows(sval_t left, int op, sval_t right) return 1; return 0; case '*': - if (sval_cmp(left, sval_binop(max, '/', right)) > 0) - return 1; - return 0; + return right.value != 0 && + sval_cmp(left, sval_binop(max, '/', right)) > 0; } return 0; } -- 2.11.4.GIT