LUA get_dissector does not give the correct dissector under 32-bit version

Summary

For a DissectorTable with a type ftypes.UINT32 The function get_dissector does not give the correct disssector when using an id upper than 0x7FFFFFFF (2147483647)

Steps to reproduce

Use the LUA attach get_dissector-bug.lua

What is the current bug behavior?

Output to LUA console: 2147483647 2147483647 2147483648 2147483649 2147483649 2147483649

What is the expected correct behavior?

Output to LUA console: 2147483647 2147483647 2147483648 2147483648 2147483649 2147483649

Sample capture file

No capture file needed to reproduce

Relevant logs and/or screenshots

see bug and expected behavior

Build information

Working correctly under wireshark 32bit 2.6.3 Doesn't work under (at least) wireshark 32bit 3.6.6 and 3.6.8 (official release)

Working properly under all 64bit version

Edited by Fyleo