[media] gpsca: remove the risk of a division by zero
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Mon, 7 Apr 2014 13:52:43 +0000 (10:52 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 8 Apr 2014 14:01:12 +0000 (11:01 -0300)
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>
drivers/media/usb/gspca/jpeg.h

index ab54910418b4ccfa7e07a179f4dbe82ecef00d17..0aa2b671faa417120217c9ae960e79013171f213 100644 (file)
@@ -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;