From ef3076fd10c8730cb3ad19c5470f88d85c9c295c Mon Sep 17 00:00:00 2001 From: liuxueli Date: Tue, 24 Dec 2019 17:37:07 +0800 Subject: 不支持解析请求包中缺少请求域名的数据包,遇到请求包中缺少请求域名的情况不回调业务层 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dns.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dns.cpp b/src/dns.cpp index 2872d04..c11f44a 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -1382,13 +1382,19 @@ int parse_query_question(struct streaminfo *a_stream, dns_info_t *dns_info, char if(0 == dns_info->hdr_info.qdcount || dns_info->hdr_info.qdcount > 1) { - return APP_STATE_GIVEME; + return APP_STATE_DROPME; } dns_info->query_question = (dns_query_question_t *)calloc(dns_info->hdr_info.qdcount, sizeof(dns_query_question_t)); if(0 != (ret = get_dns_query_question(payload, cur_pos, dns_info->query_question, payload+payload_len))) { + if(dns_info->query_question!=NULL) + { + free(dns_info->query_question); + dns_info->query_question=NULL; + } + if(ret == -2) { dns_save_error_pkt(a_stream, DNS_ERROR_QUESTION); -- cgit v1.2.3