Messages in this thread Patch in this message | | | From | Zhouyang Jia <> | Subject | [PATCH] usb: storage: add error handling for kcalloc | Date | Mon, 11 Jun 2018 16:52:26 +0800 |
| |
When kcalloc fails, the lack of error-handling code may cause unexpected results.
This patch adds error-handling code after calling kcalloc.
Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com> --- drivers/usb/storage/alauda.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/usb/storage/alauda.c b/drivers/usb/storage/alauda.c index 900591d..c56355c 100644 --- a/drivers/usb/storage/alauda.c +++ b/drivers/usb/storage/alauda.c @@ -437,6 +437,11 @@ static int alauda_init_media(struct us_data *us) + MEDIA_INFO(us).blockshift + MEDIA_INFO(us).pageshift); MEDIA_INFO(us).pba_to_lba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); MEDIA_INFO(us).lba_to_pba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); + if ((MEDIA_INFO(us).pba_to_lba == NULL) + || (MEDIA_INFO(us).lba_to_pba == NULL)) { + pr_warn("alauda_init_media: memory allocation failed\n"); + return USB_STOR_TRANSPORT_ERROR; + } if (alauda_reset_media(us) != USB_STOR_XFER_GOOD) return USB_STOR_TRANSPORT_ERROR; -- 2.7.4
| |