]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Fix failure to parse src
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 27 Jan 2018 23:56:30 +0000 (18:56 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 27 Jan 2018 23:56:30 +0000 (18:56 -0500)
If src happens to point at all 0's due to not initializing
it and if the address passed in is not a v6 address then
we would not set src in the AF_INET6 call and would
fail the (src.ipv4.s_addr && inet_pton(AF_INET...)
call.  Thus causing us to return a NULL and make
the routemap code think there was an issue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
zebra/zebra_routemap.c

index 89cb2fc4881efb5dae49482f55f44947c0c605bf..4c619e5782743a227121d8b45e9f6a06b809d9c9 100644 (file)
@@ -1193,7 +1193,7 @@ static void *route_set_src_compile(const char *arg)
        union g_addr src, *psrc;
 
        if ((inet_pton(AF_INET6, arg, &src.ipv6) == 1)
-           || (src.ipv4.s_addr && (inet_pton(AF_INET, arg, &src.ipv4) == 1))) {
+           || (inet_pton(AF_INET, arg, &src.ipv4) == 1)) {
                psrc = XMALLOC(MTYPE_ROUTE_MAP_COMPILED, sizeof(union g_addr));
                *psrc = src;
                return psrc;