aboutsummaryrefslogtreecommitdiffstats
path: root/packet-sccp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-01-08 20:19:04 +0000
committerGuy Harris <guy@alum.mit.edu>2004-01-08 20:19:04 +0000
commit8227fb1077e236eadd5cf85514c65d3558cfe750 (patch)
tree0605f8c0a4ccc0da4e9f5048436fa6595ab14cfd /packet-sccp.c
parent5d404aff763b1cb31be768963ab5676a527cf172 (diff)
From Jari Mustajarvi: fix handling of PDUs with 2-byte-long variable and
optional pointers. svn path=/trunk/; revision=9600
Diffstat (limited to 'packet-sccp.c')
-rw-r--r--packet-sccp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/packet-sccp.c b/packet-sccp.c
index f447d3efa7..d9c4ef5c72 100644
--- a/packet-sccp.c
+++ b/packet-sccp.c
@@ -8,7 +8,7 @@
*
* Copyright 2002, Jeff Morriss <jeff.morriss[AT]ulticom.com>
*
- * $Id: packet-sccp.c,v 1.19 2003/12/18 00:43:48 guy Exp $
+ * $Id: packet-sccp.c,v 1.20 2004/01/08 20:19:03 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1549,6 +1549,8 @@ dissect_sccp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp_tree,
proto_tree_add_uint(sccp_tree, hf_var, tvb, \
offset, ptr_size, var); \
var += offset; \
+ if (ptr_size == POINTER_LENGTH_LONG) \
+ var += 1; \
offset += ptr_size;
/* Macro for getting pointer to optional parameters */
@@ -1560,6 +1562,8 @@ dissect_sccp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp_tree,
proto_tree_add_uint(sccp_tree, hf_sccp_optional_pointer, tvb, \
offset, ptr_size, optional_pointer); \
optional_pointer += offset; \
+ if (ptr_size == POINTER_LENGTH_LONG) \
+ optional_pointer += 1; \
offset += ptr_size;