aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-wccp.c
diff options
context:
space:
mode:
authorVictor Voronkov <victor.voronkov@gmail.com>2014-11-10 12:07:15 +0100
committerMichael Mann <mmann78@netscape.net>2014-11-10 13:28:12 +0000
commit0f758fa2fcfac59601c13e5994ea5f848347741d (patch)
tree48edbd1af4a47a72f65ef058f10612136dcd7ef2 /epan/dissectors/packet-wccp.c
parentea167053ffc553b3a5f4ce6cbe0b78ecc8cd0dbe (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.c12
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;
}