diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-08-02 12:11:38 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-08-02 12:11:38 +0000 |
commit | 18478a63bc80e185d9f320fc67c232cb088d9fa6 (patch) | |
tree | ce64146f74a9d0a1fe976ad98e07629dd7f142cf | |
parent | ed930bece3dc8e67f348f5db2cf5afb080840f12 (diff) |
Fix for bug 3800:
Correctly track the size of Feedback Control Information in Payload specific RTCP feedback packet.
svn path=/trunk/; revision=29259
-rw-r--r-- | epan/dissectors/packet-rtcp.c | 4 |
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; |