From: Roel Kluin Date: Wed, 4 Nov 2009 16:31:59 +0000 (-0800) Subject: isdn: hfc_usb: Fix read buffer overflow X-Git-Tag: v2.6.27.40~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e9ab6d1f58eda5d33cc7e849778b72a5b2c1d916;p=people%2Fms%2Flinux.git isdn: hfc_usb: Fix read buffer overflow commit 286e633ef0ff5bb63c07b4516665da8004966fec upstream. Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c index 8df889b0c1a9..5b6b8285a343 100644 --- a/drivers/isdn/hisax/hfc_usb.c +++ b/drivers/isdn/hisax/hfc_usb.c @@ -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,