diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2005-05-29 13:02:57 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2005-05-29 13:02:57 +0000 |
commit | c173da9fecdf2c5dfcc58858e4a89dda85f0d0b9 (patch) | |
tree | b2f124d7819b597df84ec3ae013d0f7aa9d09ff8 /epan/dissectors/packet-dns.c | |
parent | 2b30b539ee4a005fa449a68f7cbe4f48c61438d9 (diff) |
fix #201: add format_text before output of the DNS name, in case it contains invalid chars
svn path=/trunk/; revision=14479
Diffstat (limited to 'epan/dissectors/packet-dns.c')
-rw-r--r-- | epan/dissectors/packet-dns.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index f07808b763..e2e730c759 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -46,6 +46,7 @@ #include "packet-dns.h" #include "packet-tcp.h" #include <epan/prefs.h> +#include <epan/strutil.h> static int proto_dns = -1; static int hf_dns_length = -1; @@ -748,6 +749,7 @@ dissect_dns_query(tvbuff_t *tvb, int offset, int dns_data_offset, { int len; char name[MAXDNAME]; + char *name_out; int name_len; int type; int class; @@ -765,14 +767,17 @@ dissect_dns_query(tvbuff_t *tvb, int offset, int dns_data_offset, type_name = dns_type_name(type); - if (cinfo != NULL) - col_append_fstr(cinfo, COL_INFO, " %s %s", type_name, name); + if (cinfo != NULL) { + name_out = format_text(name, name_len); + col_append_fstr(cinfo, COL_INFO, " %s %s", type_name, name_out); + } if (dns_tree != NULL) { + name_out = format_text(name, name_len); tq = proto_tree_add_text(dns_tree, tvb, offset, len, "%s: type %s, class %s", - name, type_name, dns_class_name(class)); + name_out, type_name, dns_class_name(class)); q_tree = proto_item_add_subtree(tq, ett_dns_qd); - proto_tree_add_string(q_tree, hf_dns_qry_name, tvb, offset, name_len, name); + proto_tree_add_string(q_tree, hf_dns_qry_name, tvb, offset, name_len, name_out); offset += name_len; proto_tree_add_uint_format(q_tree, hf_dns_qry_type, tvb, offset, 2, type, |