diff --git a/epan/proto.c b/epan/proto.c index 3dd4d3609a..fe0cc114da 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -6668,8 +6668,9 @@ proto_item_fill_display_label(field_info *finfo, gchar *display_label_str, const case FT_ETHER: set_address (&addr, AT_ETHER, FT_ETHER_LEN, fvalue_get_bytes(&finfo->value)); - address_to_str_buf(&addr, display_label_str, label_str_size); - label_len = (int)strlen(display_label_str); + tmp_str = address_to_display(NULL, &addr); + label_len = protoo_strlcpy(display_label_str, tmp_str, label_str_size); + wmem_free(NULL, tmp_str); break; case FT_GUID: diff --git a/ui/packet_list_utils.c b/ui/packet_list_utils.c index f4d818d05f..367db3ff6b 100644 --- a/ui/packet_list_utils.c +++ b/ui/packet_list_utils.c @@ -91,7 +91,7 @@ resolve_column (gint col, capture_file *cf) hfi = proto_registrar_get_nth(*field_idx); /* Check if we have an OID or a strings table with integer values */ - if ((hfi->type == FT_OID) || (hfi->type == FT_REL_OID) || (hfi->type == FT_BOOLEAN) || + if ((hfi->type == FT_OID) || (hfi->type == FT_REL_OID) || (hfi->type == FT_ETHER) || (hfi->type == FT_BOOLEAN) || ((hfi->strings != NULL) && (IS_FT_INT(hfi->type) || IS_FT_UINT(hfi->type)))) { diff --git a/ui/preference_utils.c b/ui/preference_utils.c index 12a5df08e3..23f2d18b96 100644 --- a/ui/preference_utils.c +++ b/ui/preference_utils.c @@ -242,7 +242,7 @@ column_prefs_custom_resolve(const gchar* custom_field) for (guint i = 0; i < g_strv_length(fields); i++) { if (fields[i] && *fields[i]) { hfi = proto_registrar_get_byname(fields[i]); - if (hfi && ((hfi->type == FT_OID) || (hfi->type == FT_REL_OID) || (hfi->type == FT_BOOLEAN) || + if (hfi && ((hfi->type == FT_OID) || (hfi->type == FT_REL_OID) || (hfi->type == FT_ETHER) || (hfi->type == FT_BOOLEAN) || ((hfi->strings != NULL) && (IS_FT_INT(hfi->type) || IS_FT_UINT(hfi->type))))) {