diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-12-31 13:47:05 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-12-31 21:47:34 +0000 |
commit | 29aab1b066948f4048a911e356c861274a45f43f (patch) | |
tree | b577bc377bc0c2bf2659d746be21673ffcc12c2a /epan/dissectors/packet-enip.c | |
parent | 12937fc071ae1124cfd12acf910449d8c54d19be (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.c | 21 |
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); } } } |