diff options
Diffstat (limited to 'epan/dissectors/packet-uaudp.c')
-rw-r--r-- | epan/dissectors/packet-uaudp.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c index 047d497268..0dc3117230 100644 --- a/epan/dissectors/packet-uaudp.c +++ b/epan/dissectors/packet-uaudp.c @@ -26,14 +26,7 @@ #include "epan/packet.h" #include "epan/prefs.h" #include "wsutil/report_err.h" - -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_WINSOCK2_H -# include <winsock2.h> /* Needed for AF_INET on Windows */ -#endif -#include "wsutil/inet_v6defs.h" +#include "wsutil/inet_addr.h" #include "packet-uaudp.h" @@ -71,7 +64,7 @@ static int hf_uaudp_sntseq = -1; static gint ett_uaudp = -1; /* pref */ -static guint8 sys_ip[4]; +static guint32 sys_ip; static const char* pref_sys_ip_s = ""; static gboolean use_sys_ip = FALSE; @@ -366,12 +359,12 @@ static int dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo /* server address, if present, has precedence on ports */ if (use_sys_ip) { /* use server address to find direction*/ - if (memcmp((pinfo->src).data, sys_ip, 4) == 0) + if (memcmp((pinfo->src).data, &sys_ip, sizeof(sys_ip)) == 0) { _dissect_uaudp(tvb, pinfo, tree, SYS_TO_TERM); return tvb_captured_length(tvb); } - else if (memcmp((pinfo->dst).data, sys_ip, 4) == 0) + else if (memcmp((pinfo->dst).data, &sys_ip, sizeof(sys_ip)) == 0) { _dissect_uaudp(tvb, pinfo, tree, TERM_TO_SYS); return tvb_captured_length(tvb); @@ -638,7 +631,7 @@ void proto_reg_handoff_uaudp(void) dissector_delete_uint("udp.port", ports[i].last_port, uaudp_handle); } if (*pref_sys_ip_s) { - use_sys_ip = inet_pton(AF_INET, pref_sys_ip_s, sys_ip) == 1; + use_sys_ip = ws_inet_pton4(pref_sys_ip_s, &sys_ip); if (!use_sys_ip) { report_failure("Invalid value for pref uaudp.system_ip: %s", pref_sys_ip_s); |