aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/tls.c
diff options
context:
space:
mode:
authorPhilippe Antoine <contact@catenacyber.fr>2020-03-19 17:16:41 +0100
committerPhilippe Antoine <contact@catenacyber.fr>2020-03-19 17:16:41 +0100
commit2aec630202bf976e8ee978922441a414d4176cb8 (patch)
tree405d2aa748f9bb24ba50077348c4912778357df6 /src/lib/protocols/tls.c
parentc6acf97bfbe5ad26db3c2f5dd4d379ac674d6fb3 (diff)
Fix use of uninitialized value in TLS
Diffstat (limited to 'src/lib/protocols/tls.c')
-rw-r--r--src/lib/protocols/tls.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c
index 8c351053a..9cf11b26a 100644
--- a/src/lib/protocols/tls.c
+++ b/src/lib/protocols/tls.c
@@ -735,7 +735,9 @@ int processClientServerHello(struct ndpi_detection_module_struct *ndpi_struct,
u_int16_t base_offset = packet->tcp ? 38 : 46;
u_int16_t version_offset = packet->tcp ? 4 : 12;
u_int16_t offset = 38, extension_len, j;
- u_int8_t session_id_len = packet->tcp ? packet->payload[offset] : packet->payload[46];
+ u_int8_t session_id_len = 0;
+ if (base_offset < total_len)
+ session_id_len = packet->payload[base_offset];
#ifdef DEBUG_TLS
printf("SSL [len: %u][handshake_type: %02X]\n", packet->payload_packet_len, handshake_type);