summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-04-07 10:52:43 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-04-08 11:01:12 -0300
commit32654fba2fdb417390efb1af29f1b5693bc91397 (patch)
tree8457a161db47985c2b1f571fc5cd4e5b89d0a109 /drivers/media/usb
parent9b2c06a4f91ce23141c58fbecb064235c06d699f (diff)
downloadlinux-32654fba2fdb417390efb1af29f1b5693bc91397.tar.bz2
[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>
Diffstat (limited to 'drivers/media/usb')
-rw-r--r--drivers/media/usb/gspca/jpeg.h4
1 files changed, 3 insertions, 1 deletions
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;