From: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date: Mon, 7 Apr 2014 13:52:43 +0000 (-0300)
Subject: [media] gpsca: remove the risk of a division by zero
X-Git-Tag: firefly_0821_release~176^2~4067^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=32654fba2fdb417390efb1af29f1b5693bc91397;p=firefly-linux-kernel-4.4.55.git

[media] gpsca: remove the risk of a division by zero

As reported by Coverity, there's a potential risk of a division
by zero on some calls to jpeg_set_qual(), if quality is zero.

As quality can't be 0 or lower than that, adds an extra clause
to cover this special case.

Coverity reports: CID#11922280, CID#11922293, CID#11922295

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
---

diff --git a/drivers/media/usb/gspca/jpeg.h b/drivers/media/usb/gspca/jpeg.h
index ab54910418b4..0aa2b671faa4 100644
--- a/drivers/media/usb/gspca/jpeg.h
+++ b/drivers/media/usb/gspca/jpeg.h
@@ -154,7 +154,9 @@ static void jpeg_set_qual(u8 *jpeg_hdr,
 {
 	int i, sc;
 
-	if (quality < 50)
+	if (quality <= 0)
+		sc = 5000;
+	else if (quality < 50)
 		sc = 5000 / quality;
 	else
 		sc = 200 - quality * 2;