OSDN Git Service

ipvs: fix uninitialized variable warning
authorHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
Mon, 30 Mar 2020 03:20:15 +0000 (11:20 +0800)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 30 Mar 2020 19:17:53 +0000 (21:17 +0200)
If outer_proto is not set, GCC warning as following:

In file included from net/netfilter/ipvs/ip_vs_core.c:52:
net/netfilter/ipvs/ip_vs_core.c: In function 'ip_vs_in_icmp':
include/net/ip_vs.h:233:4: warning: 'outer_proto' may be used uninitialized in this function [-Wmaybe-uninitialized]
 233 |    printk(KERN_DEBUG pr_fmt(msg), ##__VA_ARGS__); \
     |    ^~~~~~
net/netfilter/ipvs/ip_vs_core.c:1666:8: note: 'outer_proto' was declared here
1666 |  char *outer_proto;
     |        ^~~~~~~~~~~

Fixes: 73348fed35d0 ("ipvs: optimize tunnel dumps for icmp errors")
Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/ipvs/ip_vs_core.c

index d2ac530..aa6a603 100644 (file)
@@ -1663,7 +1663,7 @@ ip_vs_in_icmp(struct netns_ipvs *ipvs, struct sk_buff *skb, int *related,
        unsigned int offset, offset2, ihl, verdict;
        bool tunnel, new_cp = false;
        union nf_inet_addr *raddr;
-       char *outer_proto;
+       char *outer_proto = "IPIP";
 
        *related = 1;
 
@@ -1723,7 +1723,6 @@ ip_vs_in_icmp(struct netns_ipvs *ipvs, struct sk_buff *skb, int *related,
                if (cih == NULL)
                        return NF_ACCEPT; /* The packet looks wrong, ignore */
                tunnel = true;
-               outer_proto = "IPIP";
        } else if ((cih->protocol == IPPROTO_UDP ||     /* Can be UDP encap */
                    cih->protocol == IPPROTO_GRE) &&    /* Can be GRE encap */
                   /* Error for our tunnel must arrive at LOCAL_IN */