]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c/tw9906: Fix potential memory leak in tw9906_probe()
authorAbdun Nihaal <nihaal@cse.iitm.ac.in>
Tue, 23 Dec 2025 05:49:01 +0000 (11:19 +0530)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 13 Jan 2026 12:21:04 +0000 (13:21 +0100)
In one of the error paths in tw9906_probe(), the memory allocated in
v4l2_ctrl_handler_init() and v4l2_ctrl_new_std() is not freed. Fix that
by calling v4l2_ctrl_handler_free() on the handler in that error path.

Cc: stable@vger.kernel.org
Fixes: a000e9a02b58 ("[media] tw9906: add Techwell tw9906 video decoder")
Signed-off-by: Abdun Nihaal <nihaal@cse.iitm.ac.in>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/i2c/tw9906.c

index 6220f4fddbabcdb71b3ab1a268de03769d21ecf9..0ab43fe42d7f43a8dcf48bd7e2484d4a3e33c00c 100644 (file)
@@ -196,6 +196,7 @@ static int tw9906_probe(struct i2c_client *client)
 
        if (write_regs(sd, initial_registers) < 0) {
                v4l2_err(client, "error initializing TW9906\n");
+               v4l2_ctrl_handler_free(hdl);
                return -EINVAL;
        }