aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2008-09-16 20:10:42 -0400
committerSimon Horman <horms@verge.net.au>2008-09-16 20:10:42 -0400
commitdff630ddad3884b99fae3ad92f5eccbf26618679 (patch)
treed5c324c78b40101273c824f7d9510503421e87e7
parent9e691ed68d94ab3047e028736641445b4cf74d67 (diff)
ipvs: supply a valid 0 address to ip_vs_conn_new()
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>
-rw-r--r--net/ipv4/ipvs/ip_vs_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ipvs/ip_vs_core.c b/net/ipv4/ipvs/ip_vs_core.c
index 80a4fcf33a54..ece748dbd0cd 100644
--- a/net/ipv4/ipvs/ip_vs_core.c
+++ b/net/ipv4/ipvs/ip_vs_core.c
@@ -457,6 +457,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
457 if (sysctl_ip_vs_cache_bypass && svc->fwmark && unicast) { 457 if (sysctl_ip_vs_cache_bypass && svc->fwmark && unicast) {
458 int ret, cs; 458 int ret, cs;
459 struct ip_vs_conn *cp; 459 struct ip_vs_conn *cp;
460 union nf_inet_addr daddr = { .all = { 0, 0, 0, 0 } };
460 461
461 ip_vs_service_put(svc); 462 ip_vs_service_put(svc);
462 463
@@ -465,7 +466,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
465 cp = ip_vs_conn_new(svc->af, iph.protocol, 466 cp = ip_vs_conn_new(svc->af, iph.protocol,
466 &iph.saddr, pptr[0], 467 &iph.saddr, pptr[0],
467 &iph.daddr, pptr[1], 468 &iph.daddr, pptr[1],
468 0, 0, 469 &daddr, 0,
469 IP_VS_CONN_F_BYPASS, 470 IP_VS_CONN_F_BYPASS,
470 NULL); 471 NULL);
471 if (cp == NULL) 472 if (cp == NULL)