aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sigcomp.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2004-07-20 19:04:48 +0000
committerAnders Broman <anders.broman@ericsson.com>2004-07-20 19:04:48 +0000
commitbb7d93130330cfd0dc1a33d40437d6923972ce37 (patch)
treee05338d3fb832774f6b7cdca5bbbcda889d6daa7 /epan/dissectors/packet-sigcomp.c
parent5dca1e794cac23a98bd110ecab9b32372aa43b3b (diff)
Fix decoding of messafe type 1, if T-bit = Zero
svn path=/trunk/; revision=11445
Diffstat (limited to 'epan/dissectors/packet-sigcomp.c')
-rw-r--r--epan/dissectors/packet-sigcomp.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/epan/dissectors/packet-sigcomp.c b/epan/dissectors/packet-sigcomp.c
index 8cbbcc824c..19f0edcd83 100644
--- a/epan/dissectors/packet-sigcomp.c
+++ b/epan/dissectors/packet-sigcomp.c
@@ -263,7 +263,7 @@ dissect_sigcomp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
gint partial_state_len;
guint octet;
guint8 returned_feedback_field[128];
- guint8 partial_state[9];
+ guint8 partial_state[12];
guint tbit;
guint16 len = 0;
guint destination;
@@ -339,8 +339,8 @@ dissect_sigcomp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/*
* Message format 1
*/
- if (check_col(pinfo->cinfo, COL_INFO))
- col_add_fstr(pinfo->cinfo, COL_INFO, "Msg format 1");
+ if (check_col(pinfo->cinfo, COL_INFO))
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Msg format 1");
if ( tbit == 1 ) {
/*
@@ -371,13 +371,14 @@ dissect_sigcomp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_bytes(sigcomp_tree,hf_sigcomp_returned_feedback_item,
tvb, offset, len, returned_feedback_field);
offset = offset + len;
- tvb_memcpy(tvb, partial_state, offset, partial_state_len);
- proto_tree_add_bytes(sigcomp_tree,hf_sigcomp_partial_state,
- tvb, offset, partial_state_len, partial_state);
- offset = offset + partial_state_len;
- proto_tree_add_text(sigcomp_tree, tvb, offset, -1, "Remaining SigComp message %u bytes",
- tvb_reported_length_remaining(tvb, offset));
}
+ tvb_memcpy(tvb, partial_state, offset, partial_state_len);
+ proto_tree_add_bytes(sigcomp_tree,hf_sigcomp_partial_state,
+ tvb, offset, partial_state_len, partial_state);
+ offset = offset + partial_state_len;
+ proto_tree_add_text(sigcomp_tree, tvb, offset, -1, "Remaining SigComp message %u bytes",
+ tvb_reported_length_remaining(tvb, offset));
+
}
else{