From 2b3ef7e7622c51641e9e88fa76442cda086982fd Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Wed, 4 Dec 2019 14:21:04 +0100 Subject: Fix invalid memory access --- src/lib/protocols/tls.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c index 23c47d7cd..cd729fc3c 100644 --- a/src/lib/protocols/tls.c +++ b/src/lib/protocols/tls.c @@ -308,7 +308,11 @@ int getTLScertificate(struct ndpi_detection_module_struct *ndpi_struct, #endif offset += 2 + 1; - extension_len = ntohs(*((u_int16_t*)&packet->payload[offset])); + + if(offset > packet->payload_packet_len) + extension_len = ntohs(*((u_int16_t*)&packet->payload[offset])); + else + extension_len = 0; #ifdef DEBUG_TLS printf("TLS [server][extension_len: %u]\n", extension_len); -- cgit v1.2.3