diff options
author | Karsten Keil <kkeil@suse.de> | 2006-02-14 16:53:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-14 19:09:34 -0500 |
commit | 61b9a26ae6d308ade964db122e0e89299586422c (patch) | |
tree | c44154348b93b8ab95772b482f43ae4274b1f977 /drivers | |
parent | 8b09fb34513225d87d511c7e8f29c0fd3cf860e0 (diff) |
[PATCH] Fix NULL pointer dereference in isdn_tty_at_cout
The changes in the tty related code introduced wrong parenthesis in a if
condition in the isdn_tty_at_cout function. This caused access to index -1
in the dev->drv[] array. This patch change it back to the correct
condition from the previous versions.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isdn/i4l/isdn_tty.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index f190a99604f0..393633681f49 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c | |||
@@ -2359,8 +2359,8 @@ isdn_tty_at_cout(char *msg, modem_info * info) | |||
2359 | 2359 | ||
2360 | /* use queue instead of direct, if online and */ | 2360 | /* use queue instead of direct, if online and */ |
2361 | /* data is in queue or buffer is full */ | 2361 | /* data is in queue or buffer is full */ |
2362 | if ((info->online && tty_buffer_request_room(tty, l) < l) || | 2362 | if (info->online && ((tty_buffer_request_room(tty, l) < l) || |
2363 | (!skb_queue_empty(&dev->drv[info->isdn_driver]->rpqueue[info->isdn_channel]))) { | 2363 | !skb_queue_empty(&dev->drv[info->isdn_driver]->rpqueue[info->isdn_channel]))) { |
2364 | skb = alloc_skb(l, GFP_ATOMIC); | 2364 | skb = alloc_skb(l, GFP_ATOMIC); |
2365 | if (!skb) { | 2365 | if (!skb) { |
2366 | spin_unlock_irqrestore(&info->readlock, flags); | 2366 | spin_unlock_irqrestore(&info->readlock, flags); |