diff options
author | Campus <campus@ntop.org> | 2016-03-29 15:04:15 +0200 |
---|---|---|
committer | Campus <campus@ntop.org> | 2016-03-29 15:04:15 +0200 |
commit | 8dacc91d5167e34f5ce741cccf6d42e7e95d8277 (patch) | |
tree | 64565a64f724e1abe102500465b4ca95885be766 /src/lib/protocols/dns.c | |
parent | a59427398921b234bf152cc8f938f83fca07ee2b (diff) |
fixed dns check host name server
Diffstat (limited to 'src/lib/protocols/dns.c')
-rw-r--r-- | src/lib/protocols/dns.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c index c975465ea..3be9c888b 100644 --- a/src/lib/protocols/dns.c +++ b/src/lib/protocols/dns.c @@ -114,11 +114,17 @@ void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct nd int off = sizeof(struct ndpi_dns_packet_header) + 1; while((flow->packet.payload[off] != '\0')) { - flow->host_server_name[j] = flow->packet.payload[off]; - if(flow->host_server_name[j] < ' ') - flow->host_server_name[j] = '.'; - off++; - j++; + if(off < flow->packet.payload_packet_len) + { + flow->host_server_name[j] = flow->packet.payload[off]; + if(j < strlen(flow->host_server_name)) + { + if(flow->host_server_name[j] < ' ') + flow->host_server_name[j] = '.'; + off++; + j++; + } + } } flow->host_server_name[j] = '\0'; |