aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-06-21 09:22:07 +0200
committerGitHub <noreply@github.com>2023-06-21 09:22:07 +0200
commit46aab35a296bfe059e60ea7aa3dc75ca6c0b88a8 (patch)
treeb9c22e90f289825d0f2a089f89267411ffb0a08f
parent3608ab01b61bde1b7ac88baa448fe37724a313db (diff)
Line: fix heap-buffer-overflow error (#2015)
-rw-r--r--src/lib/protocols/line.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/protocols/line.c b/src/lib/protocols/line.c
index 738e3e2c8..4ad249844 100644
--- a/src/lib/protocols/line.c
+++ b/src/lib/protocols/line.c
@@ -63,7 +63,7 @@ static void ndpi_search_line(struct ndpi_detection_module_struct *ndpi_struct,
if ((packet->payload_packet_len == 46 && ntohl(get_u_int32_t(packet->payload, 0)) == 0xb6130006) ||
(packet->payload_packet_len == 8 && ntohl(get_u_int32_t(packet->payload, 0)) == 0xb6070004) ||
(packet->payload_packet_len == 16 && ntohl(get_u_int32_t(packet->payload, 0)) == 0xb609000c) ||
- (ndpi_struct->packet.payload[0] == 0xD0 &&
+ (packet->payload_packet_len >= 2 /* TODO */ && ndpi_struct->packet.payload[0] == 0xD0 &&
(ndpi_struct->packet.payload[1] == 0xB3 || ndpi_struct->packet.payload[1] == 0xB4
|| ndpi_struct->packet.payload[1] == 0xDA || ndpi_struct->packet.payload[1] == 0xDB))) {
ndpi_int_line_add_connection(ndpi_struct, flow);