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>
This commit is contained in:
parent
a90d9e9831
commit
a9742ab683
1 changed files with 8 additions and 2 deletions
|
@ -1053,11 +1053,17 @@ static int v4l2_m2m_register_entity(struct media_device *mdev,
|
||||||
entity->function = function;
|
entity->function = function;
|
||||||
|
|
||||||
ret = media_entity_pads_init(entity, num_pads, pads);
|
ret = media_entity_pads_init(entity, num_pads, pads);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
kfree(entity->name);
|
||||||
|
entity->name = NULL;
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
ret = media_device_register_entity(mdev, entity);
|
ret = media_device_register_entity(mdev, entity);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
kfree(entity->name);
|
||||||
|
entity->name = NULL;
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue