USB: f_accessory: Check dev pointer before decoding ctrl request

In case of poweroff charging mode, accessory function instance
is not created and due to this, _acc_dev will be NULL. If target
is connected to Accessory dock in poweroff charging mode, there
is a chance dev pointer is accessed, which is NULL. Hence add a
check before processing control request and return error if it is
NULL.

Change-Id: I4f1deb9d764b8c0bd1d7837cbc43a2933167f568
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
This commit is contained in:
Vijayavardhan Vennapusa 2018-04-04 11:02:28 +05:30 committed by Gerrit - the friendly Code Review server
parent ef00227cce
commit 1b1943b755

View file

@ -887,6 +887,12 @@ int acc_ctrlrequest(struct usb_composite_dev *cdev,
u16 w_length = le16_to_cpu(ctrl->wLength);
unsigned long flags;
/*
* If instance is not created which is the case in power off charging
* mode, dev will be NULL. Hence return error if it is the case.
*/
if (!dev)
return -ENODEV;
/*
* printk(KERN_INFO "acc_ctrlrequest "
* "%02x.%02x v%04x i%04x l%u\n",