media: media/pci/ivtv: Variable vbi.type could be uninitialized if macro v4l2_subdev_...
authorYizhuo <yzhai003@ucr.edu>
Fri, 30 Aug 2019 00:43:59 +0000 (21:43 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 10 Oct 2019 10:15:09 +0000 (07:15 -0300)
Inside function compress_sliced_buf(), variable vbi.type is
uninitialized if macro v4l2_subdev_call set __result an
error code. However, vbi.type is used in the if statement
without any check, which is potentially unsafe.

Signed-off-by: Yizhuo <yzhai003@ucr.edu>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/pci/ivtv/ivtv-vbi.c

index 6d22c0107d33b974d15dbca86219da428e63eccf..80478b026d752fed3c9aac9bb4633111fa10f889 100644 (file)
@@ -325,7 +325,7 @@ static u32 compress_raw_buf(struct ivtv *itv, u8 *buf, u32 size)
 static u32 compress_sliced_buf(struct ivtv *itv, u32 line, u8 *buf, u32 size, u8 sav)
 {
        u32 line_size = itv->vbi.sliced_decoder_line_size;
 static u32 compress_sliced_buf(struct ivtv *itv, u32 line, u8 *buf, u32 size, u8 sav)
 {
        u32 line_size = itv->vbi.sliced_decoder_line_size;
-       struct v4l2_decode_vbi_line vbi;
+       struct v4l2_decode_vbi_line vbi = {};
        int i;
        unsigned lines = 0;
 
        int i;
        unsigned lines = 0;