aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtcp.c
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2014-07-03 11:23:04 -0400
committerEvan Huus <eapache@gmail.com>2014-07-04 02:21:48 +0000
commit746441504973c67d3a2a9cc78c7042993662b8cd (patch)
treebdda256de80cf7b9d9ade39c5714fce94050aac3 /epan/dissectors/packet-rtcp.c
parentbbb3e2f7af074ca92eb0da9e438d919b251ed07e (diff)
Fix infinite loop in RTCP dissector
Bug: 10248 Change-Id: I630bc1ab2520c2861b817ba5813f5f7680e96056 Reviewed-on: https://code.wireshark.org/review/2820 Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-rtcp.c')
-rw-r--r--epan/dissectors/packet-rtcp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c
index 31ac17bcfc..29dda871aa 100644
--- a/epan/dissectors/packet-rtcp.c
+++ b/epan/dissectors/packet-rtcp.c
@@ -2740,6 +2740,9 @@ dissect_rtcp_profile_specific_extensions (packet_info *pinfo, tvbuff_t *tvb, pro
{
extension_type = tvb_get_ntohs (tvb, offset);
extension_length = tvb_get_ntohs (tvb, offset+2);
+ if (extension_length < 4) {
+ extension_length = 4; /* expert info? */
+ }
pse_item = proto_tree_add_text(tree, tvb, offset, extension_length, "Payload Specific Extension");
pse_tree = proto_item_add_subtree( pse_item, ett_pse);