diff options
-rw-r--r-- | epan/dissectors/packet-dns.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index f3be389a99..ea9bd5bd5d 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -3899,9 +3899,11 @@ dissect_dns_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, dns_stats->packet_rcode = rcode; dns_stats->packet_opcode = opcode; dns_stats->packet_qr = flags >> 15; - get_dns_name_type_class(tvb, cur_off, dns_data_offset, &name, &name_len, &qtype, &qclass); - dns_stats->packet_qtype = qtype; - dns_stats->packet_qclass = qclass; + if (quest > 0) { + get_dns_name_type_class(tvb, cur_off, dns_data_offset, &name, &name_len, &qtype, &qclass); + dns_stats->packet_qtype = qtype; + dns_stats->packet_qclass = qclass; + } dns_stats->payload_size = tvb_captured_length(tvb); dns_stats->nquestions = quest; dns_stats->nanswers = ans; |