diff options
Diffstat (limited to 'epan/dissectors/packet-babel.c')
-rw-r--r-- | epan/dissectors/packet-babel.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/epan/dissectors/packet-babel.c b/epan/dissectors/packet-babel.c index 65910db306..298007bb20 100644 --- a/epan/dissectors/packet-babel.c +++ b/epan/dissectors/packet-babel.c @@ -104,10 +104,18 @@ static const unsigned char v4prefix[16] = static const char * format_address(const unsigned char *prefix) { + address addr; + if (prefix == NULL) return "corrupt"; else if (memcmp(prefix, v4prefix, 12) == 0) - return ip_to_str(prefix + 12); + { + addr.type = AT_IPv4; + addr.len = 4; + addr.data = prefix + 12; + + return address_to_str(wmem_packet_scope(), &addr); + } else return ip6_to_str((const struct e_in6_addr*)prefix); } |