This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: vidtv: mux: Add check and kfree for kstrdup
Author:  Jiasheng Jiang <jiash...@iscas.ac.cn>
Date:    Mon Jun 19 16:12:02 2023 +0800

Add check for the return value of kstrdup() and return the error
if it fails in order to avoid NULL pointer dereference.
Moreover, use kfree() in the later error handling in order to avoid
memory leak.

Fixes: c2f78f0cb294 ("media: vidtv: psi: add a Network Information Table (NIT)")
Signed-off-by: Jiasheng Jiang <jiash...@iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/test-drivers/vidtv/vidtv_mux.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

---

diff --git a/drivers/media/test-drivers/vidtv/vidtv_mux.c 
b/drivers/media/test-drivers/vidtv/vidtv_mux.c
index b51e6a3b8cbe..f99878eff7ac 100644
--- a/drivers/media/test-drivers/vidtv/vidtv_mux.c
+++ b/drivers/media/test-drivers/vidtv/vidtv_mux.c
@@ -504,13 +504,16 @@ struct vidtv_mux *vidtv_mux_init(struct dvb_frontend *fe,
        m->priv = args->priv;
        m->network_id = args->network_id;
        m->network_name = kstrdup(args->network_name, GFP_KERNEL);
+       if (!m->network_name)
+               goto free_mux_buf;
+
        m->timing.current_jiffies = get_jiffies_64();
 
        if (args->channels)
                m->channels = args->channels;
        else
                if (vidtv_channels_init(m) < 0)
-                       goto free_mux_buf;
+                       goto free_mux_network_name;
 
        /* will alloc data for pmt_sections after initializing pat */
        if (vidtv_channel_si_init(m) < 0)
@@ -527,6 +530,8 @@ free_channel_si:
        vidtv_channel_si_destroy(m);
 free_channels:
        vidtv_channels_destroy(m);
+free_mux_network_name:
+       kfree(m->network_name);
 free_mux_buf:
        vfree(m->mux_buf);
 free_mux:

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to