kernel/drivers/net/usb/sr9700.c
.. .. @@ -410,7 +410,7 @@ 410 410 /* ignore the CRC length */ 411 411 len = (skb->data[1] | (skb->data[2] << 8)) - 4; 412 412 413 - if (len > ETH_FRAME_LEN || len > skb->len)413 + if (len > ETH_FRAME_LEN || len > skb->len || len < 0)414 414 return 0; 415 415 416 416 /* the last packet of current skb */ .. .. @@ -434,7 +434,7 @@ 434 434 usbnet_skb_return(dev, sr_skb); 435 435 436 436 skb_pull(skb, len + SR_RX_OVERHEAD); 437 - };437 + }438 438 439 439 return 0; 440 440 }