diff options
author | Victor Voronkov <victor.voronkov@gmail.com> | 2014-11-10 12:07:15 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-11-10 13:28:12 +0000 |
commit | 0f758fa2fcfac59601c13e5994ea5f848347741d (patch) | |
tree | 48edbd1af4a47a72f65ef058f10612136dcd7ef2 /epan/dissectors/packet-wccp.c | |
parent | ea167053ffc553b3a5f4ce6cbe0b78ecc8cd0dbe (diff) |
WCCP: fix parsing of extended assignment data element
Bug: 10641
Change-Id: I51322757c5aa7877fa8ff7915330ff24e7a8cbe2
Reviewed-on: https://code.wireshark.org/review/5221
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-wccp.c')
-rw-r--r-- | epan/dissectors/packet-wccp.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/epan/dissectors/packet-wccp.c b/epan/dissectors/packet-wccp.c index e6718b7f0d..091a762f01 100644 --- a/epan/dissectors/packet-wccp.c +++ b/epan/dissectors/packet-wccp.c @@ -2252,17 +2252,21 @@ dissect_wccp2_extended_assignment_data_element(tvbuff_t *tvb, int offset, gint l switch (type_of_assignment) { case WCCP2_HASH_ASSIGNMENT_TYPE: - return dissect_wccp2_hash_assignment_data_element(tvb, offset, assignment_length, + dissect_wccp2_hash_assignment_data_element(tvb, offset, assignment_length, pinfo, item_tree); + return length - assignment_length; case WCCP2_MASK_ASSIGNMENT_TYPE: - return dissect_wccp2_mask_assignment_data_element(tvb, offset, assignment_length, + dissect_wccp2_mask_assignment_data_element(tvb, offset, assignment_length, pinfo, item_tree); + return length - assignment_length; case WCCP2r1_ALT_MASK_ASSIGNMENT_TYPE: - return dissect_wccp2_alternate_mask_assignment_data_element(tvb, offset, assignment_length, + dissect_wccp2_alternate_mask_assignment_data_element(tvb, offset, assignment_length, pinfo, item_tree); + return length - assignment_length; case WCCP2r1_ASSIGNMENT_WEIGHT_STATUS: - return dissect_wccp2_assignment_weight_and_status_element(tvb, offset, assignment_length, + dissect_wccp2_assignment_weight_and_status_element(tvb, offset, assignment_length, pinfo, item_tree); + return length - assignment_length; } return length; } |