diff options
author | Luis de Bethencourt <luis@debethencourt.com> | 2015-02-09 05:16:25 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-10 18:38:40 -0500 |
commit | d6d4c0e00fe559ef54b414e2e6266beaa50b4d8e (patch) | |
tree | b91202f79503da8f7c5701404868755f5ddc3f01 | |
parent | 4bad5d2d25099a42e146d7b18d2b98950ed287f5 (diff) |
[media] gpsca: remove the risk of a division by zero
As reported by Peter Kovar, there's a potential risk of a division by
zero on calls to jpeg_set_qual() when quality is zero.
As quality can't be 0 or lower than that, add an extra clause to cover
this special case.
Signed-off-by: Luis de Bethencourt <luis.bg@samsung.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/usb/gspca/topro.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/usb/gspca/topro.c b/drivers/media/usb/gspca/topro.c index 5fcd1eec2004..c70ff406b07a 100644 --- a/drivers/media/usb/gspca/topro.c +++ b/drivers/media/usb/gspca/topro.c | |||
@@ -969,7 +969,9 @@ static void jpeg_set_qual(u8 *jpeg_hdr, | |||
969 | { | 969 | { |
970 | int i, sc; | 970 | int i, sc; |
971 | 971 | ||
972 | if (quality < 50) | 972 | if (quality <= 0) |
973 | sc = 5000; | ||
974 | else if (quality < 50) | ||
973 | sc = 5000 / quality; | 975 | sc = 5000 / quality; |
974 | else | 976 | else |
975 | sc = 200 - quality * 2; | 977 | sc = 200 - quality * 2; |