wireshark crashed upon dissector calling

asked 2019-07-11 08:31:51 +0000

BMWE gravatar image

updated 2019-07-11 08:34:13 +0000

Hello,

I have 2 captured packets if the same protocol.

  • For 1st packet - my dissector works fine.
  • For 2nd packed, my dissector crashes.

My dissector has a deligator which calls for internal messages.

local message_ids={}

function delegator_register_proto(proto,name,id)    
    dissector_table:add(abc,"ABC")
    message_ids[id]=name
end

locals.proto_abc=Proto("ABC", "ABC")
function locals.proto_abc.dissector(buffer,pinfo,tree)
   ...
   do something
   ...
end
delegator_register_proto(locals.proto_abc,"ABC",256)


function deligator.dissector(buffer, pinfo, tree)
      dissector_table:try(message_ids[256], buffer(0):tvb, pinfo, tree)
end

When I'm disabling the content of the function locals.proto_abc.dissector, it is still crashes.

I'm getting following error in the console along with wireshark crash:

Warn Dissector bug, protocol Ethertype, in packet 1: STATUS_ACCESS_VIOLATION: dissector accessed an invalid memory address.

I have no idea since the same one is working for other packet. Please assist. Wireshark version 2.6.3

Thank you :)

edit retag flag offensive close merge delete