diff options
-rw-r--r-- | usb/ncr-dispenser.lua | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/usb/ncr-dispenser.lua b/usb/ncr-dispenser.lua index c6dbfd0..7d53e83 100644 --- a/usb/ncr-dispenser.lua +++ b/usb/ncr-dispenser.lua @@ -130,9 +130,11 @@ function dispenser_proto.dissector(buffer,pinfo,tree) end if mode:uint() == 2 then - subtree:add_le(addr_F, buffer(off + 0x14, 4)) - subtree:add_le(size_F, size) - subtree:add_le(data_F, buffer(off + 0x1c, size:le_uint())) + subtree:add_le(addr_F, buffer(off + 0x14, 4)) + subtree:add_le(size_F, size) + if size:le_uint() + 0x1c < usb_dl.value then + subtree:add_le(data_F, buffer(off + 0x1c, size:le_uint())) + end else local d14 = buffer(off + 0x14, 4) if d14:le_uint() > 0 then |