Hi,
I wrote a script to try to check the types of hf items passed to proto.h APIs where there is a subset of types that are allowed. i.e. Trying to stop errors such as:
** (process:8243): WARNING **: Dissector bug, protocol IDN, in packet 126: epan/proto.c:11693: field idn.gts_wavelength_prefix is not of type FT_CHAR or an FT_{U}INTn type
** (process:8243): WARNING **: Dissector bug, protocol IDN, in packet 351: epan/proto.c:11693: field idn.gts_beam_brush is not of type FT_CHAR or an FT_{U}INTn type
without needing to encounter that call while dissecting a capture.
I won't have time to look into these properly for a few days - if anyone else does please feel free to check/fix them.
Error: proto_tree_add_item_ret_uint (.., hf_ecpri_address , ...) called at ./tools/../epan/dissectors/packet-ecpri.c 304 with type FT_UINT48
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint64 (.., hf_epl_od_uint , ...) called at ./tools/../epan/dissectors/packet-epl.c 2744 with type
(allowed types are {'FT_UINT48', 'FT_UINT56', 'FT_UINT64', 'FT_UINT40'} )
Error: proto_tree_add_item_ret_uint (.., hf_ctlv_cmd_qual_send_short_msg , ...) called at ./tools/../epan/dissectors/packet-etsi_card_app_toolkit.c 1172 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ctlv_cmd_qual_send_data , ...) called at ./tools/../epan/dissectors/packet-etsi_card_app_toolkit.c 1182 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_language_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5303 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_method_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5310 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_delivery_address_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5320 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_language_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5857 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_method_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5864 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_ndps_delivery_address_flag , ...) called at ./tools/../epan/dissectors/packet-ndps.c 5874 with type FT_BOOLEAN
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_pfcp_nf_instance_id , ...) called at ./tools/../epan/dissectors/packet-pfcp.c 7482 with type FT_GUID
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_lcp_opt_id , ...) called at ./tools/../epan/dissectors/packet-ppp.c 2377 with type FT_UINT_BYTES
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
Error: proto_tree_add_item_ret_uint (.., hf_slsk_directory_name , ...) called at ./tools/../epan/dissectors/packet-slsk.c 1051 with type FT_UINT_STRING
(allowed types are {'FT_CHAR', 'FT_UINT32', 'FT_UINT24', 'FT_UINT16', 'FT_UINT8'} )
I will clean up the script and see if it should be added to wireshark/tools in a few days.
Best regards,
Martin