From: Davidlohr Bueso Date: Fri, 5 Oct 2012 00:13:18 +0000 (-0700) Subject: lib/gcd.c: prevent possible div by 0 X-Git-Tag: v3.2.32~42 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0ae961fe09b82f5b073420233bca2475a814d75b;p=karo-tx-linux.git lib/gcd.c: prevent possible div by 0 commit e96875677fb2b7cb739c5d7769824dff7260d31d upstream. Account for all properties when a and/or b are 0: gcd(0, 0) = 0 gcd(a, 0) = a gcd(0, b) = b Fixes no known problems in current kernels. Signed-off-by: Davidlohr Bueso Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Ben Hutchings --- diff --git a/lib/gcd.c b/lib/gcd.c index f879033d9822..433d89bd9d89 100644 --- a/lib/gcd.c +++ b/lib/gcd.c @@ -9,6 +9,9 @@ unsigned long gcd(unsigned long a, unsigned long b) if (a < b) swap(a, b); + + if (!b) + return a; while ((r = a % b) != 0) { a = b; b = r;