Ask Your Question

Revision history [back]

This bit sticks out to me:

1    if, 0x80) > 0 then -- first frame
2        packets[node] =
3        seqn = bit.bxor(seqn, 0x80)
4    end
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.