From b5b2260f2e06d3c9a7d8d3202b2a71b0bbcacfb7 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 31 Jan 2020 14:50:18 +0100 Subject: Fix undefined shift in dns --- src/lib/protocols/dns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c index 49f856b41..473ff1753 100644 --- a/src/lib/protocols/dns.c +++ b/src/lib/protocols/dns.c @@ -282,7 +282,7 @@ static void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, st u_int32_t shift; c = flow->packet.payload[off++]; - shift = 1 << (c & 0x1f); + shift = ((u_int32_t) 1) << (c & 0x1f); flow->host_server_name[j++] = tolower((dns_validchar[c >> 5] & shift) ? c : '_'); cl--; } -- cgit v1.2.3 From 579dd7dff9bcb973ab83d7b222d5250de5028794 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 31 Jan 2020 15:09:32 +0100 Subject: Fix memcached read overflow --- src/lib/protocols/memcached.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/protocols/memcached.c b/src/lib/protocols/memcached.c index 664fd195b..ef846c9e2 100644 --- a/src/lib/protocols/memcached.c +++ b/src/lib/protocols/memcached.c @@ -105,7 +105,7 @@ void ndpi_search_memcached( { struct ndpi_packet_struct *packet = &flow->packet; const u_int8_t *offset = packet->payload; - const u_int16_t length = packet->payload_packet_len; + u_int16_t length = packet->payload_packet_len; u_int8_t *matches; NDPI_LOG_DBG(ndpi_struct, "search memcached\n"); @@ -131,6 +131,7 @@ void ndpi_search_memcached( } offset += MEMCACHED_UDP_HDR_LEN; + length -= MEMCACHED_UDP_HDR_LEN; matches = &flow->l4.udp.memcached_matches; } else { -- cgit v1.2.3