DNS: use formatted text in add_rr_to_tree() and add_opt_rr_to_tree
Since the fix for bug 13289, an empty string can be returned by get_dns_name. Ensure that: - a malformed encoding with no characters and a length > 1 triggers an exception - the formatted version is used to add info in tree. Bug: 13339 Change-Id: I88125a351904eabb5cededfbfe1d5ef14ea61ecc Reviewed-on: https://code.wireshark.org/review/19714 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
0212739598
commit
7722003908
|
@ -1295,7 +1295,7 @@ expand_dns_name(tvbuff_t *tvb, int offset, int max_len, int dns_data_offset,
|
|||
if (len < 0) {
|
||||
len = offset - start_offset;
|
||||
}
|
||||
if (len < min_len) {
|
||||
if ((len < min_len) || (len > min_len && *name_len == 0)) {
|
||||
THROW(ReportedBoundsError);
|
||||
}
|
||||
return len;
|
||||
|
@ -1793,13 +1793,13 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset,
|
|||
(data_offset - data_start) + data_len,
|
||||
ett_dns_rr, &trr, "%s: type %s, class %s",
|
||||
name_out, type_name, class_name);
|
||||
add_rr_to_tree(rr_tree, tvb, offsetx, name, used_bytes - 4,
|
||||
add_rr_to_tree(rr_tree, tvb, offsetx, name_out, used_bytes - 4,
|
||||
dns_type, pinfo, is_mdns);
|
||||
} else {
|
||||
rr_tree = proto_tree_add_subtree_format(dns_tree, tvb, offsetx,
|
||||
(data_offset - data_start) + data_len,
|
||||
ett_dns_rr, &trr, "%s: type %s", name_out, type_name);
|
||||
add_opt_rr_to_tree(rr_tree, tvb, offsetx, name, used_bytes - 4, is_mdns);
|
||||
add_opt_rr_to_tree(rr_tree, tvb, offsetx, name_out, used_bytes - 4, is_mdns);
|
||||
}
|
||||
if (is_mdns && flush) {
|
||||
proto_item_append_text(trr, ", cache flush");
|
||||
|
|
Loading…
Reference in New Issue