]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
isdn: hfc_usb: Fix read buffer overflow
authorRoel Kluin <roel.kluin@gmail.com>
Wed, 4 Nov 2009 16:31:59 +0000 (08:31 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 8 Dec 2009 19:17:23 +0000 (11:17 -0800)
commit 286e633ef0ff5bb63c07b4516665da8004966fec upstream.

Check whether index is within bounds before testing the element.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Karsten Keil <isdn@linux-pingi.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/isdn/hisax/hfc_usb.c

index 8df889b0c1a97b1a6c3546545840bc3279755486..5b6b8285a3439147f6793af46d4e3d5af3b6c8e3 100644 (file)
@@ -818,8 +818,8 @@ collect_rx_frame(usb_fifo * fifo, __u8 * data, int len, int finish)
        }
        /* we have a complete hdlc packet */
        if (finish) {
-               if ((!fifo->skbuff->data[fifo->skbuff->len - 1])
-                   && (fifo->skbuff->len > 3)) {
+               if (fifo->skbuff->len > 3 &&
+                               !fifo->skbuff->data[fifo->skbuff->len - 1]) {
 
                        if (fifon == HFCUSB_D_RX) {
                                DBG(HFCUSB_DBG_DCHANNEL,