Commit 1c770f0f authored by Wenwen Wang's avatar Wenwen Wang Committed by Mauro Carvalho Chehab
Browse files

media: cpia2_usb: fix memory leaks



In submit_urbs(), 'cam->sbuf[i].data' is allocated through kmalloc_array().
However, it is not deallocated if the following allocation for urbs fails.
To fix this issue, free 'cam->sbuf[i].data' if usb_alloc_urb() fails.

Signed-off-by: default avatarWenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent a8ef0488
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -676,6 +676,10 @@ static int submit_urbs(struct camera_data *cam)
		if (!urb) {
			for (j = 0; j < i; j++)
				usb_free_urb(cam->sbuf[j].urb);
			for (j = 0; j < NUM_SBUF; j++) {
				kfree(cam->sbuf[j].data);
				cam->sbuf[j].data = NULL;
			}
			return -ENOMEM;
		}