media: coda: Add check for kmalloc
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Thu, 17 Nov 2022 07:02:36 +0000 (15:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:25 +0000 (13:32 +0100)
[ Upstream commit 6e5e5defdb8b0186312c2f855ace175aee6daf9b ]

As the kmalloc may return NULL pointer,
it should be better to check the return value
in order to avoid NULL poineter dereference,
same as the others.

Fixes: cb1d3a336371 ("[media] coda: add CODA7541 JPEG support")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/chips-media/coda-bit.c

index 6d816fd..ed47d5b 100644 (file)
@@ -1084,10 +1084,16 @@ static int coda_start_encoding(struct coda_ctx *ctx)
        }
 
        if (dst_fourcc == V4L2_PIX_FMT_JPEG) {
-               if (!ctx->params.jpeg_qmat_tab[0])
+               if (!ctx->params.jpeg_qmat_tab[0]) {
                        ctx->params.jpeg_qmat_tab[0] = kmalloc(64, GFP_KERNEL);
-               if (!ctx->params.jpeg_qmat_tab[1])
+                       if (!ctx->params.jpeg_qmat_tab[0])
+                               return -ENOMEM;
+               }
+               if (!ctx->params.jpeg_qmat_tab[1]) {
                        ctx->params.jpeg_qmat_tab[1] = kmalloc(64, GFP_KERNEL);
+                       if (!ctx->params.jpeg_qmat_tab[1])
+                               return -ENOMEM;
+               }
                coda_set_jpeg_compression_quality(ctx, ctx->params.jpeg_quality);
        }