summaryrefslogtreecommitdiff
path: root/src/gquic_process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gquic_process.cpp')
-rw-r--r--src/gquic_process.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gquic_process.cpp b/src/gquic_process.cpp
index b458f2b..79b8efe 100644
--- a/src/gquic_process.cpp
+++ b/src/gquic_process.cpp
@@ -1318,7 +1318,7 @@ static int get_decrypt_payload(unsigned char * payload, int payload_len, unsigne
length=get_value(payload, used_len, 1); // length=8bit
}
- if((*join_payload_len)<join_length+length)
+ if((*join_payload_len)<join_length+length || offset<0 || offset>payload_len)
{
break;
}
@@ -1448,7 +1448,7 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
{
_context->is_decrypt=1;
ret=dissect_quic((char *)udp_detail->pdata, udp_detail->datalen, decrypt_payload, &decrypt_payload_len);
- if(ret!=1)
+ if(ret!=1 || decrypt_payload_len>2048 || decrypt_payload_len<0)
{
return APP_STATE_GIVEME;
}