summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-gsmtap.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2013-02-25 16:39:43 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2013-02-25 16:39:43 +0000
commitd7b294a17f165cfb85a5728dc3dc600872a412bb (patch)
tree6faa9784fa9d474699889974830bfac5c0d076b8 /epan/dissectors/packet-gsmtap.c
parent8c3f3d6cee334bdf777b05be7994d3f6d92f64b2 (diff)
downloadwireshark-d7b294a17f165cfb85a5728dc3dc600872a412bb.tar.gz
Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8397 :
Prevent an out of bounds access when trying to call RRC sub dissectors and fallback to DATA dissector svn path=/trunk/; revision=47876
Diffstat (limited to 'epan/dissectors/packet-gsmtap.c')
-rw-r--r--epan/dissectors/packet-gsmtap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsmtap.c b/epan/dissectors/packet-gsmtap.c
index 2b15c41b6c..ff0ae1a769 100644
--- a/epan/dissectors/packet-gsmtap.c
+++ b/epan/dissectors/packet-gsmtap.c
@@ -601,6 +601,9 @@ dissect_gsmtap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case GSMTAP_TYPE_UMTS_RRC:
sub_handle = GSMTAP_SUB_UMTS_RRC;
rrc_sub_handle = sub_type;
+ if (rrc_sub_handle >= GSMTAP_RRC_SUB_MAX) {
+ sub_handle = GSMTAP_SUB_DATA;
+ }
/* make entry in the Protocol column on summary display.
* Normally, the RRC dissector would be doing this, but
* we are bypassing dissect_rrc() and directly call a