From 9ebf0663c8af671f9d37f9d51eb80e26a5b1fe2b Mon Sep 17 00:00:00 2001 From: Ohad Ben-Cohen Date: Fri, 2 Nov 2007 04:41:26 +0100 Subject: [PATCH] [Bluetooth] Fix NULL pointer dereference in HCI line discipline Normally a serial Bluetooth device is opened, TIOSETD'ed to N_HCI line discipline, HCIUARTSETPROTO'ed and finally closed. In case the device fails to HCIUARTSETPROTO, closing it produces a NULL pointer dereference. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Marcel Holtmann Signed-off-by: Adrian Bunk --- drivers/bluetooth/hci_ldisc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 4c0e6d85673d..9e42cc49dce0 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -313,7 +313,9 @@ static void hci_uart_tty_close(struct tty_struct *tty) if (hu) { struct hci_dev *hdev = hu->hdev; - hci_uart_close(hdev); + + if (hdev) + hci_uart_close(hdev); if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) { hu->proto->close(hu); -- 2.39.5