diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py index a3bf89db69a..62dd93a2a9a 100644 --- a/scapy/layers/inet6.py +++ b/scapy/layers/inet6.py @@ -1139,7 +1139,9 @@ def defragment6(packets): offset = 8 * q.offset if offset != len(fragmentable): warning("Expected an offset of %d. Found %d. Padding with XXXX" % (len(fragmentable), offset)) # noqa: E501 - frag_data_len = p[IPv6].plen - frag_hdr_len + frag_data_len = p[IPv6].plen + if frag_data_len is not None: + frag_data_len -= frag_hdr_len fragmentable += b"X" * (offset - len(fragmentable)) fragmentable += raw(q.payload)[:frag_data_len]