From: Hans Verkuil Date: Fri, 9 Nov 2018 13:37:44 +0000 (-0500) Subject: media: vivid: free bitmap_cap when updating std/timings/etc. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=560ccb75c2caa6b1039dec1a53cd2ef526f5bf03;p=openwrt%2Fstaging%2Fblogic.git media: vivid: free bitmap_cap when updating std/timings/etc. When vivid_update_format_cap() is called it should free any overlay bitmap since the compose size will change. Signed-off-by: Hans Verkuil Reported-by: syzbot+0cc8e3cc63ca373722c6@syzkaller.appspotmail.com Cc: # for v3.18 and up Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/vivid/vivid-vid-cap.c b/drivers/media/platform/vivid/vivid-vid-cap.c index 8213297ee9dc..a1ed5fdabc75 100644 --- a/drivers/media/platform/vivid/vivid-vid-cap.c +++ b/drivers/media/platform/vivid/vivid-vid-cap.c @@ -451,6 +451,8 @@ void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls) tpg_s_rgb_range(&dev->tpg, v4l2_ctrl_g_ctrl(dev->rgb_range_cap)); break; } + vfree(dev->bitmap_cap); + dev->bitmap_cap = NULL; vivid_update_quality(dev); tpg_reset_source(&dev->tpg, dev->src_rect.width, dev->src_rect.height, dev->field_cap); dev->crop_cap = dev->src_rect;