diff options
author | 2020-04-06 18:39:02 +0200 | |
---|---|---|
committer | 2020-04-21 13:20:33 +0200 | |
commit | c943b6947f459189419114682ac343fc1e22a954 (patch) | |
tree | 6154ea3f3095a748ba5bbf5b98efb76fba1c5aae /drivers/media/usb/pwc/pwc-ctrl.c | |
parent | media: imx: utils: Introduce PIXFMT_SEL_IPU (diff) | |
download | wireguard-linux-c943b6947f459189419114682ac343fc1e22a954.tar.xz wireguard-linux-c943b6947f459189419114682ac343fc1e22a954.zip |
media: imx: utils: Make imx_media_pixfmt handle variable number of codes
The imx_media_pixfmt structures include a codes member that stores
media bus codes as a fixed array of 4 integers. The functions dealing
with the imx_media_pixfmt structures assume that the array of codes is
terminated by a 0 element. This mechanism is fragile, as demonstrated
by several instances of the structure containing 4 non-zero codes.
Fix this by turning the array into a pointer, and providing an
IMX_BUS_FMTS macro to initialize the codes member with a guaranteed 0
element at the end.
[Fixed a NULL deref of the codes pointer in a couple places]
[Added more comments for the struct imx_media_pixfmt members,
including a bold NOTE! for future developers that codes pointer
is NULL for the in-memory-only formats]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/usb/pwc/pwc-ctrl.c')
0 files changed, 0 insertions, 0 deletions