Wireshark mailing list archives

Re: Some apparent type bugs


From: Martin Mathieson via Wireshark-dev <wireshark-dev () wireshark org>
Date: Fri, 31 Jul 2020 13:05:52 +0100

Oh yeah.  Need to make that RE even more unreadable :)

It is likely that there are 'allowed' entries wrong or missing.  The script
defines this collection of checks, then runs them all over each dissector
file.  I was surprised not to find more issues than I did.

# These are all of the APIs in proto.c that check a set of types at
runtime. 'is not of type'
apiChecks = []
apiChecks.append(APICheck('proto_tree_add_item_ret_uint', { 'FT_CHAR',
'FT_UINT8', 'FT_UINT16', 'FT_UINT24', 'FT_UINT32'}))
apiChecks.append(APICheck('ptvcursor_add_ret_uint', { 'FT_CHAR', 'FT_UINT8',
'FT_UINT16', 'FT_UINT24', 'FT_UINT32'}))
apiChecks.append(APICheck('ptvcursor_add_ret_int', { 'FT_INT8', 'FT_INT16',
'FT_INT24', 'FT_INT32'}))
apiChecks.append(APICheck('ptvcursor_add_ret_string', { 'FT_STRING',
'FT_STRINGZ', 'FT_UINT_STRING', 'FT_STRINGZPAD'}))
apiChecks.append(APICheck('ptvcursor_add_ret_boolean', { 'FT_BOOLEAN'}))
apiChecks.append(APICheck('proto_tree_add_item_ret_uint64', { 'FT_UINT40',
'FT_UINT48', 'FT_UINT56', 'FT_UINT64'}))
apiChecks.append(APICheck('proto_tree_add_item_ret_int64', { 'FT_INT40',
'FT_INT48', 'FT_INT56', 'FT_INT64'}))
apiChecks.append(APICheck('proto_tree_add_item_ret_boolean', { 'FT_BOOLEAN'
}))
apiChecks.append(APICheck('proto_tree_add_item_ret_string_and_length', {
'FT_STRING', 'FT_STRINGZ', 'FT_UINT_STRING', 'FT_STRINGZPAD'}))
apiChecks.append(APICheck(
'proto_tree_add_item_ret_display_string_and_length', { 'FT_STRING',
'FT_STRINGZ', 'FT_UINT_STRING',
'FT_STRINGZPAD', 'FT_BYTES', 'FT_UINT_BYTES'}))
apiChecks.append(APICheck('proto_tree_add_item_ret_time_string', {
'FT_ABSOLUTE_TIME', 'FT_RELATIVE_TIME'}))
apiChecks.append(APICheck('proto_tree_add_uint', { 'FT_CHAR', 'FT_UINT8',
'FT_UINT16', 'FT_UINT24', 'FT_UINT32', 'FT_FRAMENUM'}))
apiChecks.append(APICheck('proto_tree_add_uint_format_value', { 'FT_CHAR',
'FT_UINT8', 'FT_UINT16', 'FT_UINT24', 'FT_UINT32', 'FT_FRAMENUM'}))
apiChecks.append(APICheck('proto_tree_add_uint64', { 'FT_UINT40',
'FT_UINT48', 'FT_UINT56', 'FT_UINT64', 'FT_FRAMENUM'}))
apiChecks.append(APICheck('proto_tree_add_int', { 'FT_INT8', 'FT_INT16',
'FT_INT24', 'FT_INT32'}))
apiChecks.append(APICheck('proto_tree_add_int_format_value', { 'FT_INT8',
'FT_INT16', 'FT_INT24', 'FT_INT32'}))
apiChecks.append(APICheck('proto_tree_add_int_format', { 'FT_INT8',
'FT_INT16', 'FT_INT24', 'FT_INT32'}))
apiChecks.append(APICheck('proto_tree_add_int64', { 'FT_INT40', 'FT_INT48',
'FT_INT56', 'FT_INT64'}))
apiChecks.append(APICheck('proto_tree_add_int64_format_value', { 'FT_INT40',
'FT_INT48', 'FT_INT56', 'FT_INT64'}))




On Fri, Jul 31, 2020 at 12:58 PM Jaap Keuter <jaap.keuter () xs4all nl> wrote:

Hi,

This is the script tripped up by inserted comments I’m afraid.

Thanks,
Jaap

On 31 Jul 2020, at 11:28, Martin Mathieson via Wireshark-dev <
wireshark-dev () wireshark org> wrote:

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'} )


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org
?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: