[media] saa7164: Check if dev is NULL before dereferencing it
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 28 Apr 2015 13:07:01 +0000 (10:07 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 30 Apr 2015 16:34:08 +0000 (13:34 -0300)
As reported by smatch:
drivers/media/pci/saa7164/saa7164-core.c:631 saa7164_irq() warn: variable dereferenced before check 'dev' (see line 621)

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/pci/saa7164/saa7164-core.c

index 9cf3c6cba4984b6ae415212b2af3ef7cde0f85a4..072dcc8f13d9122aa76117c628e827905a2c964d 100644 (file)
@@ -618,12 +618,7 @@ static irqreturn_t saa7164_irq_ts(struct saa7164_port *port)
 static irqreturn_t saa7164_irq(int irq, void *dev_id)
 {
        struct saa7164_dev *dev = dev_id;
-       struct saa7164_port *porta = &dev->ports[SAA7164_PORT_TS1];
-       struct saa7164_port *portb = &dev->ports[SAA7164_PORT_TS2];
-       struct saa7164_port *portc = &dev->ports[SAA7164_PORT_ENC1];
-       struct saa7164_port *portd = &dev->ports[SAA7164_PORT_ENC2];
-       struct saa7164_port *porte = &dev->ports[SAA7164_PORT_VBI1];
-       struct saa7164_port *portf = &dev->ports[SAA7164_PORT_VBI2];
+       struct saa7164_port *porta, *portb, *portc, *portd, *porte, *portf;
 
        u32 intid, intstat[INT_SIZE/4];
        int i, handled = 0, bit;
@@ -634,6 +629,13 @@ static irqreturn_t saa7164_irq(int irq, void *dev_id)
                goto out;
        }
 
+       porta = &dev->ports[SAA7164_PORT_TS1];
+       portb = &dev->ports[SAA7164_PORT_TS2];
+       portc = &dev->ports[SAA7164_PORT_ENC1];
+       portd = &dev->ports[SAA7164_PORT_ENC2];
+       porte = &dev->ports[SAA7164_PORT_VBI1];
+       portf = &dev->ports[SAA7164_PORT_VBI2];
+
        /* Check that the hardware is accessible. If the status bytes are
         * 0xFF then the device is not accessible, the the IRQ belongs
         * to another driver.