summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-uaudp.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-uaudp.c')
-rw-r--r--epan/dissectors/packet-uaudp.c17
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);