summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Han <hanchunchao@inspur.com>2024-12-27 17:20:46 +0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2025-01-15 10:34:27 -0500
commitb88655bc6593c6a7fdc1248b212d17e581c4334e (patch)
treef351d1df46b820265855befc1ecb571965cf254f
parent30209aeff75fe18cf01a63332a7a7f472877d445 (diff)
downloadlinux-b88655bc6593c6a7fdc1248b212d17e581c4334e.tar.gz
linux-b88655bc6593c6a7fdc1248b212d17e581c4334e.tar.bz2
linux-b88655bc6593c6a7fdc1248b212d17e581c4334e.zip
Bluetooth: btbcm: Fix NULL deref in btbcm_get_board_name()
devm_kstrdup() can return a NULL pointer on failure,but this returned value in btbcm_get_board_name() is not checked. Add NULL check in btbcm_get_board_name(), to handle kernel NULL pointer dereference error. Fixes: f9183eaad915 ("Bluetooth: btbcm: Use devm_kstrdup()") Signed-off-by: Charles Han <hanchunchao@inspur.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r--drivers/bluetooth/btbcm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
index a1153ada74d2..0a60660fc8ce 100644
--- a/drivers/bluetooth/btbcm.c
+++ b/drivers/bluetooth/btbcm.c
@@ -553,6 +553,9 @@ static const char *btbcm_get_board_name(struct device *dev)
/* get rid of any '/' in the compatible string */
board_type = devm_kstrdup(dev, tmp, GFP_KERNEL);
+ if (!board_type)
+ return NULL;
+
strreplace(board_type, '/', '-');
return board_type;