aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtcp.c
diff options
context:
space:
mode:
authorjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>2009-08-02 12:11:38 +0000
committerjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>2009-08-02 12:11:38 +0000
commit2c093e7b963a54e811455d01afa2d3a53ab800e9 (patch)
treece64146f74a9d0a1fe976ad98e07629dd7f142cf /epan/dissectors/packet-rtcp.c
parentf367020104dcf41b62b7df87efd2b2d05c58e182 (diff)
Fix for bug 3800:
Correctly track the size of Feedback Control Information in Payload specific RTCP feedback packet. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29259 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-rtcp.c')
-rw-r--r--epan/dissectors/packet-rtcp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c
index 0b7a25c7dd..629d109ec7 100644
--- a/epan/dissectors/packet-rtcp.c
+++ b/epan/dissectors/packet-rtcp.c
@@ -767,6 +767,7 @@ dissect_rtcp_psfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree,
int packet_length )
{
unsigned int rtcp_psfb_fmt = 0;
+ int base_offset = offset;
/* Payload-specific FB message */
/* Feedback message type (FMT): 5 bits */
@@ -791,7 +792,8 @@ dissect_rtcp_psfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree,
/* Feedback Control Information (FCI) */
if (packet_length > 2) {
- proto_tree_add_item( rtcp_tree, hf_rtcp_fci, tvb, offset, packet_length - offset, FALSE );
+ proto_tree_add_item( rtcp_tree, hf_rtcp_fci, tvb, offset, packet_length - (offset - base_offset), FALSE );
+ offset = base_offset + packet_length;
}
return offset;