From: Philippe Antoine Date: Wed, 26 Aug 2020 08:52:54 +0000 (+0200) Subject: dns: simply skips zero-sized dns requests/responses X-Git-Tag: suricata-6.0.0-rc1~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b20a8de646da09956240236248be840f36b1448f;p=thirdparty%2Fsuricata.git dns: simply skips zero-sized dns requests/responses --- diff --git a/rust/src/dns/dns.rs b/rust/src/dns/dns.rs index fda3a6b8c3..ff2284c760 100644 --- a/rust/src/dns/dns.rs +++ b/rust/src/dns/dns.rs @@ -564,6 +564,9 @@ impl DNSState { } else { return AppLayerResult::err(); } + } else if size == 0 { + cur_i = &cur_i[2..]; + consumed += 2; } else { SCLogDebug!("[request]Not enough DNS traffic to parse. Returning {}/{}", consumed as u32, (size + 2) as u32); @@ -608,6 +611,9 @@ impl DNSState { } else { return AppLayerResult::err(); } + } else if size == 0 { + cur_i = &cur_i[2..]; + consumed += 2; } else { SCLogDebug!("[response]Not enough DNS traffic to parse. Returning {}/{}", consumed as u32, (cur_i.len() - consumed) as u32);