From fd4ac46b07649cbd5f65e4b661c1a94474bf0c97 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Fri, 2 Jan 2015 22:30:24 +0100 Subject: [PATCH] crush/crush.c: prevent DIVIDE_BY_ZERO Fix for: CID 1219471 (#1 of 1): Division or modulo by zero (DIVIDE_BY_ZERO) divide_by_zero: In function call crush_make_uniform_bucket, division by expression item_weight which may be zero has undefined behavior. Signed-off-by: Danny Al-Gaaf --- src/crush/crush.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/crush/crush.c b/src/crush/crush.c index 519793a02166c..bf856fc832a83 100644 --- a/src/crush/crush.c +++ b/src/crush/crush.c @@ -141,6 +141,9 @@ int crush_addition_is_unsafe(__u32 a, __u32 b) int crush_multiplication_is_unsafe(__u32 a, __u32 b) { + // prevent division by zero + if (!b) + return 1; if ((((__u32)(-1)) / b) < a) return 1; else -- 2.39.5