aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-enip.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-12-31 13:47:05 -0800
committerGuy Harris <guy@alum.mit.edu>2015-12-31 21:47:34 +0000
commit29aab1b066948f4048a911e356c861274a45f43f (patch)
treeb577bc377bc0c2bf2659d746be21673ffcc12c2a /epan/dissectors/packet-enip.c
parent12937fc071ae1124cfd12acf910449d8c54d19be (diff)
Clean up setting the port and address.
Change-Id: I2384424c410e83d299e810467734bfc5428d1182 Reviewed-on: https://code.wireshark.org/review/12969 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-enip.c')
-rw-r--r--epan/dissectors/packet-enip.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c
index 297aba6ee7..64b639ead8 100644
--- a/epan/dissectors/packet-enip.c
+++ b/epan/dissectors/packet-enip.c
@@ -2094,19 +2094,24 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
request_info = (enip_request_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO);
if (request_info != NULL)
{
+ guint16 port;
+ guint32 *datap;
+
+ port = tvb_get_ntohs(tvb, offset+8);
+ datap = wmem_alloc(wmem_file_scope(), sizeof(guint32));
+ *datap = tvb_get_ipv4(tvb, offset+10);
+
if (item == SOCK_ADR_INFO_OT)
{
- request_info->cip_info->connInfo->O2T.port = tvb_get_ntohs(tvb, offset+8);
- request_info->cip_info->connInfo->O2T.ipaddress.type = AT_IPv4;
- request_info->cip_info->connInfo->O2T.ipaddress.data = wmem_alloc(wmem_file_scope(), sizeof(guint32));
- *((guint32*)request_info->cip_info->connInfo->O2T.ipaddress.data) = tvb_get_ipv4(tvb, offset+10);
+ request_info->cip_info->connInfo->O2T.port = port;
+ set_address(&request_info->cip_info->connInfo->O2T.ipaddress,
+ AT_IPv4, sizeof(guint32), datap);
}
else
{
- request_info->cip_info->connInfo->T2O.port = tvb_get_ntohs(tvb, offset+8);
- request_info->cip_info->connInfo->T2O.ipaddress.type = AT_IPv4;
- request_info->cip_info->connInfo->T2O.ipaddress.data = wmem_alloc(wmem_file_scope(), sizeof(guint32));
- *((guint32*)request_info->cip_info->connInfo->T2O.ipaddress.data) = tvb_get_ipv4(tvb, offset+10);
+ request_info->cip_info->connInfo->T2O.port = port;
+ set_address(&request_info->cip_info->connInfo->T2O.ipaddress,
+ AT_IPv4, sizeof(guint32), datap);
}
}
}