diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b3721cff4502..bb16c88f58a3 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1751,6 +1751,9 @@ static skb_frag_t *skb_advance_to_frag(struct sk_buff *skb, u32 offset_skb, { skb_frag_t *frag; + if (unlikely(offset_skb >= skb->len)) + return NULL; + offset_skb -= skb_headlen(skb); if ((int)offset_skb < 0 || skb_has_frag_list(skb)) return NULL;