[media] mt9v022: fix potential NULL pointer dereference in mt9v022_probe()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Thu, 29 Nov 2012 02:56:15 +0000 (23:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Jan 2013 03:34:59 +0000 (01:34 -0200)
The dereference to 'icl' should be moved below the NULL test.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/i2c/soc_camera/mt9v022.c

index d40a8858be01919ba5c85374a3ea6d61ffae10ae..75098024d477a6f0b2413fffc045db1dcc0875e5 100644 (file)
@@ -875,7 +875,7 @@ static int mt9v022_probe(struct i2c_client *client,
        struct mt9v022 *mt9v022;
        struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
        struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
-       struct mt9v022_platform_data *pdata = icl->priv;
+       struct mt9v022_platform_data *pdata;
        int ret;
 
        if (!icl) {
@@ -893,6 +893,7 @@ static int mt9v022_probe(struct i2c_client *client,
        if (!mt9v022)
                return -ENOMEM;
 
+       pdata = icl->priv;
        v4l2_i2c_subdev_init(&mt9v022->subdev, client, &mt9v022_subdev_ops);
        v4l2_ctrl_handler_init(&mt9v022->hdl, 6);
        v4l2_ctrl_new_std(&mt9v022->hdl, &mt9v022_ctrl_ops,