diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8452,7 +8452,7 @@ nk->port[iidx] != iih->icmp_id) iih->icmp_id = nk->port[iidx]; m_copyback(pd2.m, pd2.off, ICMP_MINLEN, - (c_caddr_t)&iih); + (c_caddr_t)iih); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8579,7 +8579,7 @@ nk->port[iidx] != iih->icmp6_id) iih->icmp6_id = nk->port[iidx]; m_copyback(pd2.m, pd2.off, - sizeof(struct icmp6_hdr), (c_caddr_t)&iih); + sizeof(struct icmp6_hdr), (c_caddr_t)iih); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, diff --git a/tests/sys/netpfil/pf/nat64.py b/tests/sys/netpfil/pf/nat64.py --- a/tests/sys/netpfil/pf/nat64.py +++ b/tests/sys/netpfil/pf/nat64.py @@ -238,7 +238,7 @@ ip = reply.getlayer(sp.IPv6) assert icmp assert ip.src == "64:ff9b::c000:202" - return + return reply # If we don't find the packet we expect to see assert False @@ -282,4 +282,6 @@ packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ / sp.ICMPv6EchoRequest() / sp.Raw("foo") - self.common_test_source_addr(packet) + reply = self.common_test_source_addr(packet) + icmp = reply.getlayer(sp.ICMPv6EchoRequest) + assert icmp