summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-07-28 17:41:11 +0300
committerJohan Hedberg <johan.hedberg@intel.com>2017-07-28 19:29:08 +0300
commitc3327bde514d5945f5de1e28bed3eaa0c4d622ec (patch)
tree9c4b8d9598e2651b2c729355cbedb1ca5ea9bdbb /drivers/bluetooth
parent98b5798499b6614963e693dff5262de8d33b2cd0 (diff)
downloadlinux-c3327bde514d5945f5de1e28bed3eaa0c4d622ec.tar.gz
linux-c3327bde514d5945f5de1e28bed3eaa0c4d622ec.tar.bz2
linux-c3327bde514d5945f5de1e28bed3eaa0c4d622ec.zip
Bluetooth: btrtl: Fix a error code in rtl_load_config()
We accidentally return success if the kmemdup() fails. It results in a NULL dereference in the caller. Fixes: 1110a2dbe698 ("Bluetooth: btrtl: Add RTL8822BE Bluetooth device") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/btrtl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 8279094dd713..d9a99b4302ea 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -279,6 +279,8 @@ static int rtl_load_config(struct hci_dev *hdev, const char *name, u8 **buff)
return ret;
ret = fw->size;
*buff = kmemdup(fw->data, ret, GFP_KERNEL);
+ if (!*buff)
+ ret = -ENOMEM;
release_firmware(fw);