summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2011-11-07 15:44:12 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-12-11 09:42:40 -0200
commit08da558ae0aaa488d8273ee44177c86580ba0d5a (patch)
tree33b51edafea4efa438553fd120be247f15dfa7a7
parent4c0b036db808054f10f79e9a3d7928cf90aeb186 (diff)
downloadlinux-08da558ae0aaa488d8273ee44177c86580ba0d5a.tar.gz
linux-08da558ae0aaa488d8273ee44177c86580ba0d5a.tar.bz2
linux-08da558ae0aaa488d8273ee44177c86580ba0d5a.zip
[media] V4L: mt9t112: use after free in mt9t112_probe()
priv gets dereferenced in mt9t112_set_params() so we should return before calling that. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/mt9t112.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/video/mt9t112.c b/drivers/media/video/mt9t112.c
index 32114a3c0ca7..7b34b11daf24 100644
--- a/drivers/media/video/mt9t112.c
+++ b/drivers/media/video/mt9t112.c
@@ -1083,8 +1083,10 @@ static int mt9t112_probe(struct i2c_client *client,
v4l2_i2c_subdev_init(&priv->subdev, client, &mt9t112_subdev_ops);
ret = mt9t112_camera_probe(client);
- if (ret)
+ if (ret) {
kfree(priv);
+ return ret;
+ }
/* Cannot fail: using the default supported pixel code */
mt9t112_set_params(priv, &rect, V4L2_MBUS_FMT_UYVY8_2X8);