Ask Your Question

Revision history [back]

click to hide/show revision 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.