| From 470b6411be4e6729bdf777fbb53a9aa150cf32da Mon Sep 17 00:00:00 2001 |
| From: Kangjie Lu <kjlu@umn.edu> |
| Date: Sat, 9 Mar 2019 02:20:56 -0500 |
| Subject: media: video-mux: fix null pointer dereferences |
| |
| [ Upstream commit aeb0d0f581e2079868e64a2e5ee346d340376eae ] |
| |
| devm_kcalloc may fail and return a null pointer. The fix returns |
| -ENOMEM upon failures to avoid null pointer dereferences. |
| |
| Signed-off-by: Kangjie Lu <kjlu@umn.edu> |
| Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> |
| Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/platform/video-mux.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| diff --git a/drivers/media/platform/video-mux.c b/drivers/media/platform/video-mux.c |
| index 0ba30756e1e40..d8cd5f5cb10d6 100644 |
| --- a/drivers/media/platform/video-mux.c |
| +++ b/drivers/media/platform/video-mux.c |
| @@ -419,9 +419,14 @@ static int video_mux_probe(struct platform_device *pdev) |
| vmux->active = -1; |
| vmux->pads = devm_kcalloc(dev, num_pads, sizeof(*vmux->pads), |
| GFP_KERNEL); |
| + if (!vmux->pads) |
| + return -ENOMEM; |
| + |
| vmux->format_mbus = devm_kcalloc(dev, num_pads, |
| sizeof(*vmux->format_mbus), |
| GFP_KERNEL); |
| + if (!vmux->format_mbus) |
| + return -ENOMEM; |
| |
| for (i = 0; i < num_pads; i++) { |
| vmux->pads[i].flags = (i < num_pads - 1) ? MEDIA_PAD_FL_SINK |
| -- |
| 2.20.1 |
| |