OSDN Git Service

[media] drivers: media: platform: vivid: Fix possible null derefrence
authorTapasweni Pathak <tapaswenipathak@gmail.com>
Fri, 6 Mar 2015 02:39:40 +0000 (23:39 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 2 Apr 2015 21:10:38 +0000 (18:10 -0300)
Check for dev_fmt being null before derefrencing it, to assign it
to planes.

Found using Coccinelle.

Signed-off-by: Tapasweni Pathak <tapaswenipathak@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/vivid/vivid-vid-out.c

index 39ff79f..8f081bb 100644 (file)
@@ -114,7 +114,7 @@ static int vid_out_buf_prepare(struct vb2_buffer *vb)
 {
        struct vivid_dev *dev = vb2_get_drv_priv(vb->vb2_queue);
        unsigned long size;
-       unsigned planes = dev->fmt_out->planes;
+       unsigned planes;
        unsigned p;
 
        dprintk(dev, 1, "%s\n", __func__);
@@ -122,6 +122,8 @@ static int vid_out_buf_prepare(struct vb2_buffer *vb)
        if (WARN_ON(NULL == dev->fmt_out))
                return -EINVAL;
 
+       planes = dev->fmt_out->planes;
+
        if (dev->buf_prepare_error) {
                /*
                 * Error injection: test what happens if buf_prepare() returns