ipvs: supply a valid 0 address to ip_vs_conn_new()
authorSimon Horman <horms@verge.net.au>
Wed, 17 Sep 2008 00:10:42 +0000 (10:10 +1000)
committerSimon Horman <horms@verge.net.au>
Wed, 17 Sep 2008 00:10:42 +0000 (10:10 +1000)
ip_vs_conn_new expects a union nf_inet_addr as the type for its address
parameters, not a plain integer.

This problem was detected by sparse.

make C=1
  CHECK   net/ipv4/ipvs/ip_vs_core.c
net/ipv4/ipvs/ip_vs_core.c:469:9: warning: Using plain integer as NULL pointer

Acked-by: Sven Wegener <sven.wegener@stealer.net>
Acked-by: Julius Volz <juliusv@google.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
net/ipv4/ipvs/ip_vs_core.c

index 80a4fcf..ece748d 100644 (file)
@@ -457,6 +457,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
        if (sysctl_ip_vs_cache_bypass && svc->fwmark && unicast) {
                int ret, cs;
                struct ip_vs_conn *cp;
+               union nf_inet_addr daddr =  { .all = { 0, 0, 0, 0 } };
 
                ip_vs_service_put(svc);
 
@@ -465,7 +466,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
                cp = ip_vs_conn_new(svc->af, iph.protocol,
                                    &iph.saddr, pptr[0],
                                    &iph.daddr, pptr[1],
-                                   0, 0,
+                                   &daddr, 0,
                                    IP_VS_CONN_F_BYPASS,
                                    NULL);
                if (cp == NULL)