[media] mceusb: move check earlier to make smatch happy
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 12 Feb 2013 11:22:08 +0000 (08:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 13 Feb 2013 19:33:53 +0000 (17:33 -0200)
Smatch complains that "cmdbuf[cmdcount - length]" might go past the end
of the array.  It's an easy warning to silence by moving the limit
check earlier.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/rc/mceusb.c

index bdd1ed8..5b5b6e6 100644 (file)
@@ -828,16 +828,16 @@ static int mceusb_tx_ir(struct rc_dev *dev, unsigned *txbuf, unsigned count)
                         (txbuf[i] -= MCE_MAX_PULSE_LENGTH));
        }
 
-       /* Fix packet length in last header */
-       length = cmdcount % MCE_CODE_LENGTH;
-       cmdbuf[cmdcount - length] -= MCE_CODE_LENGTH - length;
-
        /* Check if we have room for the empty packet at the end */
        if (cmdcount >= MCE_CMDBUF_SIZE) {
                ret = -EINVAL;
                goto out;
        }
 
+       /* Fix packet length in last header */
+       length = cmdcount % MCE_CODE_LENGTH;
+       cmdbuf[cmdcount - length] -= MCE_CODE_LENGTH - length;
+
        /* All mce commands end with an empty packet (0x80) */
        cmdbuf[cmdcount++] = MCE_IRDATA_TRAILER;