diff --git a/nfq/protocol.c b/nfq/protocol.c index 6137d1a9..7b1ab6ee 100644 --- a/nfq/protocol.c +++ b/nfq/protocol.c @@ -803,6 +803,7 @@ bool QUICDecryptInitial(const uint8_t *data, size_t data_len, uint8_t *clean, si if ((pn_offset + tvb_get_size(data[pn_offset])) >= data_len) return false; pn_offset += tvb_get_varint(data + pn_offset, &token_len); pn_offset += token_len; + if (pn_offset >= data_len) return false; if ((pn_offset + tvb_get_size(data[pn_offset])) >= data_len) return false; pn_offset += tvb_get_varint(data + pn_offset, &payload_len); if (payload_len<20 || (pn_offset + payload_len)>data_len) return false;