[v1] usb:gadget:legacy:nokia :- Check for NULL in nokia_bind_config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here, f_acm,f_ecm and f_msg needs to be checked for being NULL
in nokia_bind_config() before calling usb_add_function(),
otherwise kernel can run into a NULL-pointer dereference.

f_phonet, f_obex1 and f_obex2 need to be checked for NULL
in nokia_bind_config() to print proper debug information.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx>
---
 drivers/usb/gadget/legacy/nokia.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/gadget/legacy/nokia.c b/drivers/usb/gadget/legacy/nokia.c
index b1e535f..d3ba286 100644
--- a/drivers/usb/gadget/legacy/nokia.c
+++ b/drivers/usb/gadget/legacy/nokia.c
@@ -159,36 +159,36 @@ static int nokia_bind_config(struct usb_configuration *c)
 
 	if (!IS_ERR(fi_phonet)) {
 		f_phonet = usb_get_function(fi_phonet);
-		if (IS_ERR(f_phonet))
+		if (IS_ERR_OR_NULL(f_phonet))
 			pr_debug("could not get phonet function\n");
 	}
 
 	if (!IS_ERR(fi_obex1)) {
 		f_obex1 = usb_get_function(fi_obex1);
-		if (IS_ERR(f_obex1))
+		if (IS_ERR_OR_NULL(f_obex1))
 			pr_debug("could not get obex function 0\n");
 	}
 
 	if (!IS_ERR(fi_obex2)) {
 		f_obex2 = usb_get_function(fi_obex2);
-		if (IS_ERR(f_obex2))
+		if (IS_ERR_OR_NULL(f_obex2))
 			pr_debug("could not get obex function 1\n");
 	}
 
 	f_acm = usb_get_function(fi_acm);
-	if (IS_ERR(f_acm)) {
+	if (IS_ERR_OR_NULL(f_acm)) {
 		status = PTR_ERR(f_acm);
 		goto err_get_acm;
 	}
 
 	f_ecm = usb_get_function(fi_ecm);
-	if (IS_ERR(f_ecm)) {
+	if (IS_ERR_OR_NULL(f_ecm)) {
 		status = PTR_ERR(f_ecm);
 		goto err_get_ecm;
 	}
 
 	f_msg = usb_get_function(fi_msg);
-	if (IS_ERR(f_msg)) {
+	if (IS_ERR_OR_NULL(f_msg)) {
 		status = PTR_ERR(f_msg);
 		goto err_get_msg;
 	}
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux