diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-01-05 01:23:43 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-01-05 01:24:15 +0100 |
commit | 442f621017ddc7c4544881cefd078498d4912d9b (patch) | |
tree | 3982c370e66fefa4a17199baaddababc67f4782a | |
parent | cb64efe0d19ad4dca3b5cc7e508f7956f1e89127 (diff) |
dect-dlc: Don't call NWK dissector if there's no payload
Change-Id: Ia86185f52b724be61db2d94ffaf51fd00ebab84c
-rw-r--r-- | epan/dissectors/packet-dect-dlc.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-dect-dlc.c b/epan/dissectors/packet-dect-dlc.c index c021cdb6ad..a10303d840 100644 --- a/epan/dissectors/packet-dect-dlc.c +++ b/epan/dissectors/packet-dect-dlc.c @@ -139,12 +139,14 @@ static int dissect_dect_dlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, len = length >> 2; available_length = tvb_captured_length(tvb) - 3; - payload = tvb_new_subset_length_caplen(tvb, 3, MIN(len, available_length), len); + if (available_length > 0) { + payload = tvb_new_subset_length_caplen(tvb, 3, MIN(len, available_length), len); - /* FIXME: fragment reassembly like in packet-lapdm.c */ + /* FIXME: fragment reassembly like in packet-lapdm.c */ - if (!dissector_try_uint(dlc_sapi_dissector_table, sapi, payload, pinfo, tree)) - call_data_dissector(payload, pinfo, tree); + if (!dissector_try_uint(dlc_sapi_dissector_table, sapi, payload, pinfo, tree)) + call_data_dissector(payload, pinfo, tree); + } return tvb_captured_length(tvb); } |