]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
route.c: pass the right parameter to IN6_IS_ADDR_UNSPECIFIED
authorAntonio Quartulli <a@unstable.cc>
Thu, 26 Aug 2021 06:17:25 +0000 (08:17 +0200)
committerGert Doering <gert@greenie.muc.de>
Sat, 28 Aug 2021 13:32:32 +0000 (15:32 +0200)
IN6_IS_ADDR_UNSPECIFIED on most systems is defined as a macro that
expects a struct in6_addr* argument.

In one instance we are passing the right address but using a wrong type.
Fix this invocation by properly passing the right pointer.

This issue might become more critical on systems implementing
IN6_IS_ADDR_UNSPECIFIED as a function rather than a macro.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
Acked-by:
Message-Id: <20210826061725.22169-1-a@unstable.cc>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22767.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/route.c

index 2905e432d43eb13c2af157e0147d60a69923c6a0..fd1125efaa22e8ba8bf159bb1a0c5f9787b43714 100644 (file)
@@ -3360,7 +3360,7 @@ get_default_gateway_ipv6(struct route_ipv6_gateway_info *rgi6,
     if (net_route_v6_best_gw(ctx, dest, &rgi6->gateway.addr_ipv6,
                              rgi6->iface) == 0)
     {
-        if (!IN6_IS_ADDR_UNSPECIFIED(rgi6->gateway.addr_ipv6.s6_addr))
+        if (!IN6_IS_ADDR_UNSPECIFIED(&rgi6->gateway.addr_ipv6))
         {
             rgi6->flags |= RGI_ADDR_DEFINED;
         }