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

From: Arvind Yadav
Date: Thu Dec 08 2016 - 11:32:34 EST


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