aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols
diff options
context:
space:
mode:
authoremanuele-f <black.silver@hotmail.it>2019-04-15 19:54:17 +0200
committeremanuele-f <black.silver@hotmail.it>2019-04-15 19:54:17 +0200
commit4dd51a165c51cfa3d9124478b55dafaa5c803f9e (patch)
treedc0a8e8cc0ab99e1828b82a0620af83637c1c36e /src/lib/protocols
parent8365afee8df315c0686fcfd293e00038ccc0d5b3 (diff)
Fix DNS rsp_addr missing in some tiny responses
Diffstat (limited to 'src/lib/protocols')
-rw-r--r--src/lib/protocols/dns.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c
index 1c2593feb..dc97f3fe7 100644
--- a/src/lib/protocols/dns.c
+++ b/src/lib/protocols/dns.c
@@ -190,11 +190,11 @@ void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct nd
flow->protos.dns.rsp_type = rsp_type;
/* here x points to the response "class" field */
- if((x+12) < flow->packet.payload_packet_len) {
+ if((x+12) <= flow->packet.payload_packet_len) {
x += 6;
data_len = get16(&x, flow->packet.payload);
- if(((x + data_len) < flow->packet.payload_packet_len)
+ if(((x + data_len) <= flow->packet.payload_packet_len)
&& (((rsp_type == 0x1) && (data_len == 4)) /* A */
#ifdef NDPI_DETECTION_SUPPORT_IPV6
|| ((rsp_type == 0x1c) && (data_len == 16)) /* AAAA */