aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nas_eps.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-09-18 12:41:05 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2015-09-18 11:49:36 +0000
commita5cbe4a6a9730f3e260cfdd85e1e8d327329142f (patch)
treee4d65c05344e2b5a9051ad0d2388b11b818d7ff5 /epan/dissectors/packet-nas_eps.c
parent7e70a4481e49a81f13c57f71bf554169fd0ce76d (diff)
NAS EPS: do not try to decode Message Elements when the end of the message is reached
Change-Id: Iaa05c3b4268c5c618134810c49f65d63995eccfb Reviewed-on: https://code.wireshark.org/review/10564 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-nas_eps.c')
-rw-r--r--epan/dissectors/packet-nas_eps.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-nas_eps.c b/epan/dissectors/packet-nas_eps.c
index 8eefe15476..21730d8fed 100644
--- a/epan/dissectors/packet-nas_eps.c
+++ b/epan/dissectors/packet-nas_eps.c
@@ -4760,13 +4760,14 @@ disect_nas_eps_esm_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
proto_tree_add_item(tree, hf_idx, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
-
/*
* decode elements
*/
if (msg_fcn_p == NULL)
{
- proto_tree_add_item(tree, hf_nas_eps_msg_elems, tvb, offset, len - offset, ENC_NA);
+ if (tvb_reported_length_remaining(tvb, offset)) {
+ proto_tree_add_item(tree, hf_nas_eps_msg_elems, tvb, offset, len - offset, ENC_NA);
+ }
}
else
{
@@ -4832,13 +4833,14 @@ dissect_nas_eps_emm_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
proto_tree_add_item(tree, hf_idx, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
-
/*
* decode elements
*/
if (msg_fcn_p == NULL)
{
- proto_tree_add_item(tree, hf_nas_eps_msg_elems, tvb, offset, len - offset, ENC_NA);
+ if (tvb_reported_length_remaining(tvb, offset)) {
+ proto_tree_add_item(tree, hf_nas_eps_msg_elems, tvb, offset, len - offset, ENC_NA);
+ }
}
else
{