Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d82d418a authored by Amit Choudhary's avatar Amit Choudhary Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak



Free previously allocated memory (in array elements) if kmalloc() returns
NULL in submit_urbs().

Signed-off-by: default avatarAmit Choudhary <amit2030@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent cb2c7b49
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -640,6 +640,10 @@ static int submit_urbs(struct camera_data *cam)
		cam->sbuf[i].data =
		cam->sbuf[i].data =
		    kmalloc(FRAMES_PER_DESC * FRAME_SIZE_PER_DESC, GFP_KERNEL);
		    kmalloc(FRAMES_PER_DESC * FRAME_SIZE_PER_DESC, GFP_KERNEL);
		if (!cam->sbuf[i].data) {
		if (!cam->sbuf[i].data) {
			while (--i >= 0) {
				kfree(cam->sbuf[i].data);
				cam->sbuf[i].data = NULL;
			}
			return -ENOMEM;
			return -ENOMEM;
		}
		}
	}
	}