diff options
Diffstat (limited to 'src/lib/protocols/tls.c')
-rw-r--r-- | src/lib/protocols/tls.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c index 58b19d0d5..45965f62d 100644 --- a/src/lib/protocols/tls.c +++ b/src/lib/protocols/tls.c @@ -1000,7 +1000,8 @@ static int ndpi_search_tls_tcp(struct ndpi_detection_module_struct *ndpi_struct, } while(!something_went_wrong) { - u_int16_t len, p_len; + u_int32_t len; + u_int16_t p_len; const u_int8_t *p; u_int8_t content_type; @@ -1072,7 +1073,7 @@ static int ndpi_search_tls_tcp(struct ndpi_detection_module_struct *ndpi_struct, && (content_type != 0x17 /* Application Data */) && (!flow->tls_quic.certificate_processed)) { /* Split the element in blocks */ - u_int16_t processed = 5; + u_int32_t processed = 5; while((processed+4) <= len) { const u_int8_t *block = (const u_int8_t *)&message->buffer[processed]; |