| Date | Sun, 14 Oct 2012 15:37:19 +0100 | From | Ben Hutchings <> | Subject | [ 106/147] lib/gcd.c: prevent possible div by 0 |
| |
3.2-stable review patch. If anyone has any objections, please let me know.
------------------
From: Davidlohr Bueso <dave@gnu.org>
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 <dave@gnu.org> Cc: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- lib/gcd.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/gcd.c b/lib/gcd.c index cce4f3c..3657f12 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;
|