lib/lcm.c: lcm(n,0)=lcm(0,n) is 0, not n
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Wed, 10 Dec 2014 23:51:29 +0000 (15:51 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Dec 2014 01:41:11 +0000 (17:41 -0800)
Return the mathematically correct answer when an argument is 0.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/lcm.c

index 01b3aa9..51cc6b1 100644 (file)
--- a/lib/lcm.c
+++ b/lib/lcm.c
@@ -8,9 +8,7 @@ unsigned long lcm(unsigned long a, unsigned long b)
 {
        if (a && b)
                return (a / gcd(a, b)) * b;
-       else if (b)
-               return b;
-
-       return a;
+       else
+               return 0;
 }
 EXPORT_SYMBOL_GPL(lcm);