diff options
Diffstat (limited to 'epan/dissectors/packet-winsrepl.c')
-rw-r--r-- | epan/dissectors/packet-winsrepl.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/epan/dissectors/packet-winsrepl.c b/epan/dissectors/packet-winsrepl.c index 291943de32..d4ce7af214 100644 --- a/epan/dissectors/packet-winsrepl.c +++ b/epan/dissectors/packet-winsrepl.c @@ -323,7 +323,7 @@ dissect_winsrepl_wins_ip(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo, /* IP */ *addr = tvb_get_ipv4(winsrepl_tvb, winsrepl_offset); proto_tree_add_ipv4(ip_tree, hf_winsrepl_ip_ip, winsrepl_tvb, winsrepl_offset, 4, *addr); - proto_item_append_text(ip_item, ": %s", ip_to_str((guint8 *)addr)); + proto_item_append_text(ip_item, ": %s", tvb_ip_to_str(winsrepl_tvb, winsrepl_offset)); winsrepl_offset += 4; return winsrepl_offset; @@ -340,6 +340,8 @@ dissect_winsrepl_wins_address_list(tvbuff_t *winsrepl_tvb, packet_info *pinfo, guint32 num_ips; guint32 ip; guint32 i; + address addr; + gchar* addr_str; addr_list_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1, ett_winsrepl_addr_list, &addr_list_item, "WINS Address List"); @@ -353,12 +355,14 @@ dissect_winsrepl_wins_address_list(tvbuff_t *winsrepl_tvb, packet_info *pinfo, winsrepl_offset = dissect_winsrepl_wins_ip(winsrepl_tvb, pinfo, winsrepl_offset, addr_list_tree, &ip, addr_list_tree, i); + SET_ADDRESS(&addr, AT_IPv4, 4, &ip); + addr_str = address_to_str(wmem_packet_scope(), &addr); if (i == 0) { - proto_item_append_text(parent_item, ": %s", ip_to_str((guint8 *)&ip)); - proto_item_append_text(addr_list_item, ": %s", ip_to_str((guint8 *)&ip)); + proto_item_append_text(parent_item, ": %s", addr_str); + proto_item_append_text(addr_list_item, ": %s", addr_str); } else { - proto_item_append_text(parent_item, ", %s", ip_to_str((guint8 *)&ip)); - proto_item_append_text(addr_list_item, ", %s", ip_to_str((guint8 *)&ip)); + proto_item_append_text(parent_item, ", %s", addr_str); + proto_item_append_text(addr_list_item, ", %s", addr_str); } } @@ -380,7 +384,6 @@ dissect_winsrepl_wins_name(tvbuff_t *winsrepl_tvb, packet_info *pinfo, char name_str[(NETBIOS_NAME_LEN - 1)*4 + 1]; int name_type; guint32 flags; - guint32 addr; static const int * name_flags[] = { &hf_winsrepl_name_flags_rectype, &hf_winsrepl_name_flags_recstate, @@ -452,9 +455,8 @@ dissect_winsrepl_wins_name(tvbuff_t *winsrepl_tvb, packet_info *pinfo, case WREPL_NAME_TYPE_UNIQUE: case WREPL_NAME_TYPE_NORMAL_GROUP: /* Single address */ - addr = tvb_get_ipv4(winsrepl_tvb, winsrepl_offset); - proto_tree_add_ipv4(name_tree, hf_winsrepl_ip_ip, winsrepl_tvb, winsrepl_offset, 4, addr); - proto_item_append_text(name_item, ": %s", ip_to_str((guint8 *)&addr)); + proto_tree_add_item(name_tree, hf_winsrepl_ip_ip, winsrepl_tvb, winsrepl_offset, 4, ENC_BIG_ENDIAN); + proto_item_append_text(name_item, ": %s", tvb_ip_to_str(winsrepl_tvb, winsrepl_offset)); winsrepl_offset += 4; break; |