From: Danny Al-Gaaf Date: Fri, 2 Jan 2015 21:30:24 +0000 (+0100) Subject: crush/crush.c: prevent DIVIDE_BY_ZERO X-Git-Tag: v0.92~23^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fd4ac46b07649cbd5f65e4b661c1a94474bf0c97;p=ceph.git 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 --- diff --git a/src/crush/crush.c b/src/crush/crush.c index 519793a02166..bf856fc832a8 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