summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-05-23 12:04:02 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-05-23 12:04:02 +0200
commit0d40bfd95c81e35ea0033c2e1d8d225cb505433c (patch)
tree7710e7a679d1aabc24c68979b09b027d4784a506
parent9af3c96617a5a8a0cefb5b4d7bda9df0a72c8409 (diff)
downloadwireshark-dissectors-master.tar.gz
skip upload payload on truncated packetsHEADmaster
-rw-r--r--usb/ncr-dispenser.lua8
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