diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-07-06 09:53:31 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-07-12 18:34:30 -0400 |
commit | 420cc3505f91246699bcfb88d30c4466adc0b87b (patch) | |
tree | e4732e344576a094766df06640d9ec3aa80a98ab | |
parent | 25ea6db04a96d7871e7ece27d566f3228d59d932 (diff) |
[Bluetooth] Avoid NULL pointer dereference with tty->driver
This patch checks for tty->driver before trying to call flush_buffer().
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r-- | drivers/bluetooth/hci_ldisc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 1994270c16e1..93ba25b7ea32 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c | |||
@@ -191,7 +191,7 @@ static int hci_uart_flush(struct hci_dev *hdev) | |||
191 | 191 | ||
192 | /* Flush any pending characters in the driver and discipline. */ | 192 | /* Flush any pending characters in the driver and discipline. */ |
193 | tty_ldisc_flush(tty); | 193 | tty_ldisc_flush(tty); |
194 | if (tty->driver->flush_buffer) | 194 | if (tty->driver && tty->driver->flush_buffer) |
195 | tty->driver->flush_buffer(tty); | 195 | tty->driver->flush_buffer(tty); |
196 | 196 | ||
197 | if (test_bit(HCI_UART_PROTO_SET, &hu->flags)) | 197 | if (test_bit(HCI_UART_PROTO_SET, &hu->flags)) |
@@ -290,7 +290,7 @@ static int hci_uart_tty_open(struct tty_struct *tty) | |||
290 | if (tty->ldisc.flush_buffer) | 290 | if (tty->ldisc.flush_buffer) |
291 | tty->ldisc.flush_buffer(tty); | 291 | tty->ldisc.flush_buffer(tty); |
292 | 292 | ||
293 | if (tty->driver->flush_buffer) | 293 | if (tty->driver && tty->driver->flush_buffer) |
294 | tty->driver->flush_buffer(tty); | 294 | tty->driver->flush_buffer(tty); |
295 | 295 | ||
296 | return 0; | 296 | return 0; |