OSDN Git Service

am437x-vpfe: always assign bpp variable
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>
Tue, 27 Dec 2016 18:02:36 +0000 (16:02 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 05:37:24 +0000 (06:37 +0100)
commit 6ebf75774f823ddbdbd10921006989d4df222f4a upstream.

In vpfe_s_fmt(), when the sensor format and the requested format were
the same, bpp was assigned to vpfe->bpp without being initialized first.

Grab the bpp value that is currently used by using __vpfe_get_format()
instead of its wrapper, vpfe_try_fmt().

This use of uninitialized variable has been found by compiling the
kernel with clang.

Fixes: 417d2e507edc ("[media] media: platform: add VPFE capture driver
support for AM437X")

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/am437x/am437x-vpfe.c

index ba780c4..572bc04 100644 (file)
@@ -1576,7 +1576,7 @@ static int vpfe_s_fmt(struct file *file, void *priv,
                return -EBUSY;
        }
 
-       ret = vpfe_try_fmt(file, priv, &format);
+       ret = __vpfe_get_format(vpfe, &format, &bpp);
        if (ret)
                return ret;