summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis de Bethencourt <luis@debethencourt.com>2015-02-09 07:16:25 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-10 21:38:40 -0200
commitd6d4c0e00fe559ef54b414e2e6266beaa50b4d8e (patch)
treeb91202f79503da8f7c5701404868755f5ddc3f01
parent4bad5d2d25099a42e146d7b18d2b98950ed287f5 (diff)
downloadlinux-d6d4c0e00fe559ef54b414e2e6266beaa50b4d8e.tar.bz2
[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.c4
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,
{
int i, sc;
- if (quality < 50)
+ if (quality <= 0)
+ sc = 5000;
+ else if (quality < 50)
sc = 5000 / quality;
else
sc = 200 - quality * 2;