Wireshark падает из-за цикла while в моем диссекторе - PullRequest
0 голосов
/ 19 июня 2019

Ниже приведен пример моего кода, который приводит к сбою wireshark

submessageLocation=buffer(3,1):uint()
cmd_id=buffer(submessageLocation,1):uint()

while(submessageLocation < 100) or (cmd_id ~=250)
do
  <dissect sub message with cmd_id>
  <get new submessageLocation>
  <get new cmd_id>
end

Сбой происходит, когда cmd_id = 250 (он зарезервирован для чего-то другого, и диссектор не должен работать на этом основании.

Любые предложения, почему он разбился?

...