diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2022-07-10 17:08:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-10 17:08:22 +0200 |
commit | 1fcd03a6b6b7dcf0b6306ab1b1112290d4351d65 (patch) | |
tree | 080816ca549939a39d9569f92ed5b671147901e5 /src/lib/ndpi_main.c | |
parent | 2edfaeba4ada90ca8771a44132d2b9cc85e45570 (diff) |
Remove unsafe access to `flow->protos` union (#1656)
We can access `flow->protos` only if we already have set a valid
classification.
It is quite likely that this code is never trigger, anyway.
Diffstat (limited to 'src/lib/ndpi_main.c')
-rw-r--r-- | src/lib/ndpi_main.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 795a7fe80..e2076a158 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -5553,15 +5553,7 @@ ndpi_protocol ndpi_detection_giveup(struct ndpi_detection_module_struct *ndpi_st (flow->guessed_protocol_id == NDPI_PROTOCOL_WHATSAPP_CALL)) { *protocol_was_guessed = 1; ndpi_set_detected_protocol(ndpi_str, flow, flow->guessed_protocol_id, NDPI_PROTOCOL_UNKNOWN, NDPI_CONFIDENCE_DPI_PARTIAL); - } - else if((flow->protos.tls_quic.hello_processed == 1) && - (flow->host_server_name[0] != '\0')) { - *protocol_was_guessed = 1; - ndpi_set_detected_protocol(ndpi_str, flow, NDPI_PROTOCOL_TLS, NDPI_PROTOCOL_UNKNOWN, NDPI_CONFIDENCE_DPI_PARTIAL); } else if(enable_guess) { - if((flow->guessed_protocol_id == NDPI_PROTOCOL_UNKNOWN) && (flow->l4_proto == IPPROTO_TCP) && - flow->protos.tls_quic.hello_processed) - flow->guessed_protocol_id = NDPI_PROTOCOL_TLS; guessed_protocol_id = flow->guessed_protocol_id, guessed_host_protocol_id = flow->guessed_host_protocol_id; @@ -5633,11 +5625,8 @@ ndpi_protocol ndpi_detection_giveup(struct ndpi_detection_module_struct *ndpi_st if((flow->detected_protocol_stack[0] == NDPI_PROTOCOL_UNKNOWN) && (flow->guessed_protocol_id == NDPI_PROTOCOL_STUN)) { check_stun_export: - /* if(flow->protos.stun.num_processed_pkts || flow->protos.stun.num_udp_pkts) */ { - // if(/* (flow->protos.stun.num_processed_pkts >= NDPI_MIN_NUM_STUN_DETECTION) */ - *protocol_was_guessed = 1; - ndpi_set_detected_protocol(ndpi_str, flow, flow->guessed_host_protocol_id, NDPI_PROTOCOL_STUN, NDPI_CONFIDENCE_DPI_PARTIAL); - } + *protocol_was_guessed = 1; + ndpi_set_detected_protocol(ndpi_str, flow, flow->guessed_host_protocol_id, NDPI_PROTOCOL_STUN, NDPI_CONFIDENCE_DPI_PARTIAL); } ret.master_protocol = flow->detected_protocol_stack[1], ret.app_protocol = flow->detected_protocol_stack[0]; |