-From 73ac184333f77b38a8b4c4202c2928278e2237ca Mon Sep 17 00:00:00 2001
-From: Roy Marples <roy@marples.name>
-Date: Tue, 5 Nov 2019 15:52:57 +0000
-Subject: INET: Fix corruption of IPv4 address flags when renewing
-
-What a mistaka to maka!
----
- src/ipv4.c | 20 +++++++++-----------
- 1 file changed, 9 insertions(+), 11 deletions(-)
-
-(limited to 'src')
-
-diff --git a/src/ipv4.c b/src/ipv4.c
-index fd2a15d7..53550696 100644
---- a/src/ipv4.c
-+++ b/src/ipv4.c
-@@ -654,7 +654,7 @@ ipv4_addaddr(struct interface *ifp, const struct in_addr *addr,
- #endif
- ia->flags = IPV4_AF_NEW;
- } else
-- ia->flags |= ~IPV4_AF_NEW;
-+ ia->flags &= ~IPV4_AF_NEW;
-
- ia->mask = *mask;
- ia->brd = *bcast;
-@@ -952,15 +952,13 @@ ipv4_free(struct interface *ifp)
- struct ipv4_state *state;
- struct ipv4_addr *ia;
-
-- if (ifp) {
-- state = IPV4_STATE(ifp);
-- if (state) {
-- while ((ia = TAILQ_FIRST(&state->addrs))) {
-- TAILQ_REMOVE(&state->addrs, ia, next);
-- free(ia);
-- }
-- free(state->buffer);
-- free(state);
-- }
-+ if (ifp == NULL || (state = IPV4_STATE(ifp)) == NULL)
-+ return;
-+
-+ while ((ia = TAILQ_FIRST(&state->addrs))) {
-+ TAILQ_REMOVE(&state->addrs, ia, next);
-+ free(ia);
- }
-+ free(state->buffer);
-+ free(state);
- }
---
-cgit v1.2.1
-