aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerhard Gappmeier <gerhard.gappmeier@ascolab.com>2023-10-27 10:24:13 +0200
committerAndersBroman <a.broman58@gmail.com>2023-10-27 14:02:24 +0000
commit33b66952ac3fa55d63aa5174e8c83c1367f53383 (patch)
treea9d3666b2e53cb9e96678a23bf60f38fa8664406
parent06b7217fd0fbba3477c57a4cb9867a9ef5b65ed6 (diff)
opcua: fix parsing of service payload for messages without payload
This fixes and issue reported by John Thacker.
-rw-r--r--plugins/epan/opcua/opcua.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/epan/opcua/opcua.c b/plugins/epan/opcua/opcua.c
index c08dbb327e..2f0dd80ecf 100644
--- a/plugins/epan/opcua/opcua.c
+++ b/plugins/epan/opcua/opcua.c
@@ -506,7 +506,7 @@ static int dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
{
gint offset = 0;
int iServiceId = -1;
- gboolean bParseService = TRUE;
+ gboolean bParseService = FALSE; /* Only MSG, OPN and CLO have a service payload */
gboolean bIsFinalChunk = FALSE;
guint payload_len = 0;
guint8 pad_len = 0;
@@ -533,6 +533,7 @@ static int dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
fragment_head *frag_msg = NULL;
fragment_item *frag_i = NULL;
+ bParseService = TRUE;
offset = 3;
chunkType = tvb_get_guint8(tvb, offset); offset += 1;
offset += 4; /* message size */