[ 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 <k...@umn.edu>
Reviewed-by: Philipp Zabel <p.za...@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>
Signed-off-by: Sasha Levin <sas...@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 c01e1592ad0a8..c8ffe7bff77f1 100644
--- a/drivers/media/platform/video-mux.c
+++ b/drivers/media/platform/video-mux.c
@@ -365,9 +365,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



Reply via email to