diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-03-07 16:30:17 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-03-07 15:35:09 +0000 |
commit | 07d361010d79866bfbb51343f4c7c05b095174d0 (patch) | |
tree | ef6d28a7af1fab39ab1155d2732cdb88ce36d45b /epan/dissectors/packet-lapdm.c | |
parent | 7a76e3d2e8c90dea0d57ae85e1ce2d639ca47305 (diff) |
LAPDm: set captured and reported lengths properly when building the tvb forwarded to subdissectors
Change-Id: I6ab6bfd90a70411703d2fa8b3ff5225cedb8d2fb
Reviewed-on: https://code.wireshark.org/review/7578
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-lapdm.c')
-rw-r--r-- | epan/dissectors/packet-lapdm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-lapdm.c b/epan/dissectors/packet-lapdm.c index 03fdd09d0a..6496f03e4e 100644 --- a/epan/dissectors/packet-lapdm.c +++ b/epan/dissectors/packet-lapdm.c @@ -274,14 +274,14 @@ dissect_lapdm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) len = (length & LAPDM_LEN) >> LAPDM_LEN_SHIFT; /*n_s = (control & XDLC_N_S_MASK) >> XDLC_N_S_SHIFT;*/ m = (length & LAPDM_M) >> LAPDM_M_SHIFT; - available_length = tvb_reported_length(tvb) - LAPDM_HEADER_LEN; + available_length = tvb_captured_length(tvb) - LAPDM_HEADER_LEN; /* No point in doing anything if no payload */ if( !MIN(len, available_length) ) return; - payload = tvb_new_subset(tvb, LAPDM_HEADER_LEN, MIN(len,available_length), -1); + payload = tvb_new_subset(tvb, LAPDM_HEADER_LEN, MIN(len,available_length), len); /* Potentially segmented I frame */ |