summaryrefslogtreecommitdiff
path: root/plugins/profinet/packet-dcerpc-pn-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/profinet/packet-dcerpc-pn-io.c')
-rw-r--r--plugins/profinet/packet-dcerpc-pn-io.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/profinet/packet-dcerpc-pn-io.c b/plugins/profinet/packet-dcerpc-pn-io.c
index 6ee274e2b8..ad634ebaaa 100644
--- a/plugins/profinet/packet-dcerpc-pn-io.c
+++ b/plugins/profinet/packet-dcerpc-pn-io.c
@@ -2658,7 +2658,7 @@ static void
pnio_ar_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pnio_ar_t *ar)
{
p_add_proto_data(wmem_file_scope(), pinfo, proto_pn_io, 0, ar );
- pinfo->profinet_type = 10;
+ p_add_proto_data(pinfo->pool, pinfo, proto_pn_io, 0, GUINT_TO_POINTER(10));
if (tree) {
proto_item *item;
@@ -9488,16 +9488,19 @@ dissect_PNIO_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static gboolean
pn_io_ar_conv_valid(packet_info *pinfo)
{
- return (pinfo->profinet_type == 10);
+ void* profinet_type = p_get_proto_data(pinfo->pool, pinfo, proto_pn_io, 0);
+
+ return ((profinet_type != NULL) && (GPOINTER_TO_UINT(profinet_type) == 10));
}
static const gchar *
pn_io_ar_conv_filter(packet_info *pinfo)
{
pnio_ar_t *ar = (pnio_ar_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_pn_io, 0);
+ void* profinet_type = p_get_proto_data(pinfo->pool, pinfo, proto_pn_io, 0);
char *buf;
- if ((pinfo->profinet_type != 10) || (ar == NULL)) {
+ if ((profinet_type == NULL) || (GPOINTER_TO_UINT(profinet_type) != 10) || (ar == NULL)) {
return NULL;
}
@@ -9515,9 +9518,10 @@ static const gchar *
pn_io_ar_conv_data_filter(packet_info *pinfo)
{
pnio_ar_t *ar = (pnio_ar_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_pn_io, 0);
+ void* profinet_type = p_get_proto_data(pinfo->pool, pinfo, proto_pn_io, 0);
char *buf;
- if ((pinfo->profinet_type != 10) || (ar == NULL)) {
+ if ((profinet_type == NULL) || (GPOINTER_TO_UINT(profinet_type) != 10) || (ar == NULL)) {
return NULL;
}
if (ar->arType == 0x0010) /* IOCARSingle using RT_CLASS_3 */