aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/s7comm.c
diff options
context:
space:
mode:
authorNardi Ivan <nardi.ivan@gmail.com>2020-04-01 16:23:06 +0200
committerNardi Ivan <nardi.ivan@gmail.com>2020-04-08 15:15:34 +0200
commit0c1322a7185b71e5a52a659b147c96529ed328a7 (patch)
tree1e9baa3fab96a23d15893f54fdcf6ddff705e9f9 /src/lib/protocols/s7comm.c
parentb40732d8a502c61898095bacea59d8aa6c00341c (diff)
s7comm: fix heap-overflow error
Diffstat (limited to 'src/lib/protocols/s7comm.c')
-rw-r--r--src/lib/protocols/s7comm.c2
1 files changed, 1 insertions, 1 deletions
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);