diff options
author | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-04-07 09:52:43 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-04-08 10:01:12 -0400 |
commit | 32654fba2fdb417390efb1af29f1b5693bc91397 (patch) | |
tree | 8457a161db47985c2b1f571fc5cd4e5b89d0a109 /drivers/media/usb | |
parent | 9b2c06a4f91ce23141c58fbecb064235c06d699f (diff) |
[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.h | 4 |
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, | |||
154 | { | 154 | { |
155 | int i, sc; | 155 | int i, sc; |
156 | 156 | ||
157 | if (quality < 50) | 157 | if (quality <= 0) |
158 | sc = 5000; | ||
159 | else if (quality < 50) | ||
158 | sc = 5000 / quality; | 160 | sc = 5000 / quality; |
159 | else | 161 | else |
160 | sc = 200 - quality * 2; | 162 | sc = 200 - quality * 2; |