public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH][V3] usb: isp1760: check for null return from kzalloc
@ 2015-06-02 18:05 Colin King
  2015-06-03  0:43 ` Laurent Pinchart
  0 siblings, 1 reply; 5+ messages in thread
From: Colin King @ 2015-06-02 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Felipe Balbi, Laurent Pinchart, Sudeep Holla,
	Valentin Rothberg, linux-usb
  Cc: linux-kernel

From: Colin Ian King <colin.king@canonical.com>

isp1760_ep_alloc_request allocates a structure with kzalloc without checking 
for NULL and then returns a pointer to one of the structure fields. As the 
field happens to be the first in the structure the caller can properly check 
for NULL, but this is risky if the structure layout is changed later. Add an 
explicit NULL check for the kzalloc return value

Detected with smatch static analysis:

drivers/usb/isp1760/isp1760-udc.c:816 isp1760_ep_alloc_request()
  error: potential null dereference 'req'.  (kzalloc returns null)

[ thanks to Laurent Pinchart for improved commit message ]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/usb/isp1760/isp1760-udc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/isp1760/isp1760-udc.c b/drivers/usb/isp1760/isp1760-udc.c
index 3fc4fe7..18ebf5b 100644
--- a/drivers/usb/isp1760/isp1760-udc.c
+++ b/drivers/usb/isp1760/isp1760-udc.c
@@ -812,6 +812,8 @@ static struct usb_request *isp1760_ep_alloc_request(struct usb_ep *ep,
 	struct isp1760_request *req;
 
 	req = kzalloc(sizeof(*req), gfp_flags);
+	if (!req)
+		return NULL;
 
 	return &req->req;
 }
-- 
2.1.4


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

end of thread, other threads:[~2015-06-09  3:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-02 18:05 [PATCH][V3] usb: isp1760: check for null return from kzalloc Colin King
2015-06-03  0:43 ` Laurent Pinchart
2015-06-03 15:38   ` Felipe Balbi
2015-06-08 21:22   ` Greg Kroah-Hartman
2015-06-09  3:11     ` Felipe Balbi

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