diff options
author | Zhipeng Lu <alexious@zju.edu.cn> | 2024-02-01 20:48:44 +0800 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2024-03-26 18:22:38 -0400 |
commit | 3dd8abb0ed0e0a7c66d6d677c86ccb188cc39333 (patch) | |
tree | 523bab1fa95f0b8c5f7753e010620e481df63145 /drivers/media | |
parent | 0de691ff547d86dd54c24b40a81f9c925df8dd77 (diff) | |
download | linux-stable-3dd8abb0ed0e0a7c66d6d677c86ccb188cc39333.tar.gz linux-stable-3dd8abb0ed0e0a7c66d6d677c86ccb188cc39333.tar.bz2 linux-stable-3dd8abb0ed0e0a7c66d6d677c86ccb188cc39333.zip |
media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity
[ Upstream commit 8f94b49a5b5d386c038e355bef6347298aabd211 ]
The entity->name (i.e. name) is allocated in v4l2_m2m_register_entity
but isn't freed in its following error-handling paths. This patch
adds such deallocation to prevent memleak of entity->name.
Fixes: be2fff656322 ("media: add helpers for memory-to-memory media controller")
Signed-off-by: Zhipeng Lu <alexious@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-mem2mem.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c index 75c51007768e..5c4e4d101ca4 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -775,11 +775,17 @@ static int v4l2_m2m_register_entity(struct media_device *mdev, entity->function = function; ret = media_entity_pads_init(entity, num_pads, pads); - if (ret) + if (ret) { + kfree(entity->name); + entity->name = NULL; return ret; + } ret = media_device_register_entity(mdev, entity); - if (ret) + if (ret) { + kfree(entity->name); + entity->name = NULL; return ret; + } return 0; } |