From e3642264fa5edd49f0f1ac3e654bd14ecdbae179 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Fri, 3 Nov 2023 12:49:51 +0100 Subject: [PATCH] RTPproxy: fix an unaligned access reported by UBSan --- epan/dissectors/packet-rtpproxy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c index 4cf6b4bbdd..76153c7992 100644 --- a/epan/dissectors/packet-rtpproxy.c +++ b/epan/dissectors/packet-rtpproxy.c @@ -517,7 +517,9 @@ rtpproxy_add_notify_addr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *rtpproxy /* Only port is supplied - take IPv4/IPv6 from ip.src/ipv6.src respectively */ expert_add_info(pinfo, rtpproxy_tree, &ei_rtpproxy_notify_no_ip); if (pinfo->src.type == AT_IPv4) { - ti = proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, 0, *(const guint32*)(pinfo->src.data)); + guint32 addr; + memcpy(&addr, pinfo->src.data, 4); + ti = proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, 0, addr); } else if (pinfo->src.type == AT_IPv6) { ti = proto_tree_add_ipv6(rtpproxy_tree, hf_rtpproxy_notify_ipv6, tvb, begin, 0, (const ws_in6_addr *)(pinfo->src.data)); }