1 | initial version |
This bit sticks out to me:
1 if bit.band(seqn, 0x80) > 0 then -- first frame 2 packets[node] = ByteArray.new() 3 seqn = bit.bxor(seqn, 0x80) 4 end 5 6 local buf = packets[node]:tvb("My frame")
So what happens if the if
statement on line 1 is false? This means that packets[node]
will be nil
, and attempting to use it on line 6 will thus fail. Perhaps line 6 (and any other lines of code that expect packets[node]
to not be nil
should be placed above line 4, i.e., inside the if
block.