public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] media: uvcvideo: Fix a memory leak in an error handling path of 'uvc_ioctl_ctrl_map()'
@ 2021-11-11  8:06 Christophe JAILLET
  2021-11-11  8:12 ` Ricardo Ribalda
  2021-11-11 10:33 ` Dan Carpenter
  0 siblings, 2 replies; 6+ messages in thread
From: Christophe JAILLET @ 2021-11-11  8:06 UTC (permalink / raw)
  To: laurent.pinchart, mchehab, ribalda, hverkuil-cisco
  Cc: linux-media, linux-kernel, kernel-janitors, Christophe JAILLET

If 'map->name' can't be allocated, 'map' must be released before returning.

Fixes: 70fa906d6fce ("media: uvcvideo: Use control names from framework")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/media/usb/uvc/uvc_v4l2.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
index f4e4aff8ddf7..5aa76a9a6080 100644
--- a/drivers/media/usb/uvc/uvc_v4l2.c
+++ b/drivers/media/usb/uvc/uvc_v4l2.c
@@ -44,8 +44,10 @@ static int uvc_ioctl_ctrl_map(struct uvc_video_chain *chain,
 	if (v4l2_ctrl_get_name(map->id) == NULL) {
 		map->name = kmemdup(xmap->name, sizeof(xmap->name),
 				    GFP_KERNEL);
-		if (!map->name)
+		if (!map->name) {
+			kfree(map);
 			return -ENOMEM;
+		}
 	}
 	memcpy(map->entity, xmap->entity, sizeof(map->entity));
 	map->selector = xmap->selector;
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-11-11 11:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-11  8:06 [PATCH] media: uvcvideo: Fix a memory leak in an error handling path of 'uvc_ioctl_ctrl_map()' Christophe JAILLET
2021-11-11  8:12 ` Ricardo Ribalda
2021-11-11  8:24   ` Christophe JAILLET
2021-11-11 10:33 ` Dan Carpenter
2021-11-11 10:40   ` Ricardo Ribalda
2021-11-11 11:08     ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox