Messages in this thread Patch in this message |  | | | Date | Wed, 6 Dec 2006 21:13:17 -0800 | | From | Amit Choudhary <> | | Subject | [PATCH 2.6.19] drivers/media/video/cpia2/cpia2_usb.c: Free previously allocated memory (in array elements) if kmalloc() returns NULL. |
Description: Free previously allocated memory (in array elements) if kmalloc() returns NULL, in function submit_urbs(), in file drivers/media/video/cpia2/cpia2_usb.c. If the system is low on memory, then previously allocated memory in the same array should be freed up to help the system recover.
Signed-off-by: Amit Choudhary <amit2030@gmail.com>
diff --git a/drivers/media/video/cpia2/cpia2_usb.c b/drivers/media/video/cpia2/cpia2_usb.c index 28dc6a1..c938638 100644 --- a/drivers/media/video/cpia2/cpia2_usb.c +++ b/drivers/media/video/cpia2/cpia2_usb.c @@ -640,6 +640,10 @@ static int submit_urbs(struct camera_dat cam->sbuf[i].data = kmalloc(FRAMES_PER_DESC * FRAME_SIZE_PER_DESC, GFP_KERNEL); if (!cam->sbuf[i].data) { + for (--i; i >= 0; i--) { + kfree(cam->sbuf[i].data); + cam->sbuf[i].data = NULL; + } return -ENOMEM; } } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |