]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Check valid netmask changes.
authorRoy Marples <roy@marples.name>
Fri, 2 Sep 2016 13:57:42 +0000 (13:57 +0000)
committerRoy Marples <roy@marples.name>
Fri, 2 Sep 2016 13:57:42 +0000 (13:57 +0000)
ipv4.c

diff --git a/ipv4.c b/ipv4.c
index 2115719fafdc59afa608a0fd8a4e1a792eca018d..6922ffe3dfa7a7b32e9c72fd589b92481ee21d82 100644 (file)
--- a/ipv4.c
+++ b/ipv4.c
@@ -1293,9 +1293,11 @@ ipv4_handleifa(struct dhcpcd_ctx *ctx,
                        TAILQ_INSERT_TAIL(&state->addrs, ia, next);
                }
                /* Mask could have changed */
-               ia->mask = *mask;
-               snprintf(ia->saddr, sizeof(ia->saddr), "%s/%d",
-                   inet_ntoa(*addr), inet_ntocidr(*mask));
+               if (mask->s_addr != INADDR_ANY) {
+                       ia->mask = *mask;
+                       snprintf(ia->saddr, sizeof(ia->saddr), "%s/%d",
+                           inet_ntoa(*addr), inet_ntocidr(*mask));
+               }
                if (brd != NULL)
                        ia->brd = *brd;
                else