diff options
author | Jeremiejig <me@jeremiejig.fr> | 2020-02-11 22:59:28 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-02-15 21:19:09 +0000 |
commit | 18a7e64c85d80a479e289c01fa33740ac03e1d58 (patch) | |
tree | f1cd4c328e35200abf374be66687d0c3011eca5f /epan/dissectors/packet-lwres.c | |
parent | c129c28d3af90b152b9f4b52975f9bcfecd998de (diff) |
get_dns_name: fixup some missing change introduced with c397adda8a7
Following commit c397adda8a7 there was some missing change
* Some `cur_offset += name_len` instead of `cur_offset += used_bytes`
* Some missing format_text
I took a look at the code after observing a bug with RRSIG record.
The signature in RRSIG was dissecting with some strange offset.
You can easily generate some pcap with those commands
delv @1.1.1.1 A www.cloudflare.com
and/or
dig @1.1.1.1 +dnssec www.cloudflare.com
Change-Id: Ibd6a6248b7497b8409d7797dc320035c8c2d1ed8
Reviewed-on: https://code.wireshark.org/review/36080
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-lwres.c')
-rw-r--r-- | epan/dissectors/packet-lwres.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-lwres.c b/epan/dissectors/packet-lwres.c index 04ed341deb..de8bacfd4b 100644 --- a/epan/dissectors/packet-lwres.c +++ b/epan/dissectors/packet-lwres.c @@ -489,7 +489,7 @@ static void dissect_srv_records(tvbuff_t* tvb, proto_tree* tree,guint32 nrec,int rec_tree = proto_tree_add_subtree_format(srv_rec_tree, tvb, curr, 6, ett_srv_rec_item, NULL, "SRV record:pri=%d,w=%d,port=%d,dname=%s", - priority, weight, port, dname); + priority, weight, port, format_text(wmem_packet_scope(), dname, dlen)); proto_tree_add_uint(rec_tree, hf_srv_prio, @@ -553,7 +553,8 @@ static void dissect_mx_records(tvbuff_t* tvb, proto_tree* tree, guint32 nrec, in used_bytes = get_dns_name(tvb, curr + 4, 0, curr + 4, &dname, &dlen); rec_tree = proto_tree_add_subtree_format(mx_rec_tree, tvb, curr,6,ett_mx_rec_item,NULL, - "MX record: pri=%d,dname=%s", priority,dname); + "MX record: pri=%d,dname=%s", priority, + format_text(wmem_packet_scope(), dname, dlen)); proto_tree_add_item(rec_tree, @@ -600,7 +601,8 @@ static void dissect_ns_records(tvbuff_t* tvb, proto_tree* tree, guint32 nrec, in used_bytes = get_dns_name(tvb, curr + 2, 0, curr + 2, &dname, &dlen); - rec_tree = proto_tree_add_subtree_format(ns_rec_tree, tvb, curr,4, ett_ns_rec_item, NULL, "NS record: dname=%s",dname); + rec_tree = proto_tree_add_subtree_format(ns_rec_tree, tvb, curr,4, ett_ns_rec_item, NULL, "NS record: dname=%s", + format_text(wmem_packet_scope(), dname, dlen)); proto_tree_add_string(rec_tree, hf_ns_dname, |