From 0c1322a7185b71e5a52a659b147c96529ed328a7 Mon Sep 17 00:00:00 2001 From: Nardi Ivan Date: Wed, 1 Apr 2020 16:23:06 +0200 Subject: s7comm: fix heap-overflow error --- src/lib/protocols/s7comm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/protocols/s7comm.c b/src/lib/protocols/s7comm.c index 8a522a2c7..7d2b92642 100644 --- a/src/lib/protocols/s7comm.c +++ b/src/lib/protocols/s7comm.c @@ -31,7 +31,7 @@ void ndpi_search_s7comm_tcp(struct ndpi_detection_module_struct *ndpi_struct, u_int16_t s7comm_port = htons(102); if(packet->tcp) { - if((packet->payload[0]==0x03)&&(packet->payload[1]==0x00)&&((packet->tcp->dest == s7comm_port) || (packet->tcp->source == s7comm_port))) { + if((packet->payload_packet_len >= 2) && (packet->payload[0]==0x03)&&(packet->payload[1]==0x00)&&((packet->tcp->dest == s7comm_port) || (packet->tcp->source == s7comm_port))) { NDPI_LOG_INFO(ndpi_struct, "found S7\n"); ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_S7COMM, NDPI_PROTOCOL_UNKNOWN); -- cgit v1.2.3