diff options
author | Soenke Huster <soenke.huster@eknoes.de> | 2022-01-23 06:57:09 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2022-01-23 15:30:18 +0100 |
commit | 5201d23cc8e57531e0b17e41c0ae10405ba6abd3 (patch) | |
tree | 639fe5ec48cdc2c0784e10b390906d95e2f38063 /net/bluetooth/msft.c | |
parent | Bluetooth: btmtksdio: mask out interrupt status (diff) | |
download | linux-5201d23cc8e57531e0b17e41c0ae10405ba6abd3.tar.xz linux-5201d23cc8e57531e0b17e41c0ae10405ba6abd3.zip |
Bluetooth: msft: fix null pointer deref on msft_monitor_device_evt
msft_find_handle_data returns NULL if it can't find the handle.
Therefore, handle_data must be checked, otherwise a null pointer
is dereferenced.
Signed-off-by: Soenke Huster <soenke.huster@eknoes.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/msft.c')
-rw-r--r-- | net/bluetooth/msft.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/msft.c b/net/bluetooth/msft.c index 484540855863..9a3d77d3ca86 100644 --- a/net/bluetooth/msft.c +++ b/net/bluetooth/msft.c @@ -704,6 +704,8 @@ static void msft_monitor_device_evt(struct hci_dev *hdev, struct sk_buff *skb) ev->monitor_state, &ev->bdaddr); handle_data = msft_find_handle_data(hdev, ev->monitor_handle, false); + if (!handle_data) + return; switch (ev->addr_type) { case ADDR_LE_DEV_PUBLIC: |