]>
Commit | Line | Data |
---|---|---|
4269699a AM |
1 | From 73ac184333f77b38a8b4c4202c2928278e2237ca Mon Sep 17 00:00:00 2001 |
2 | From: Roy Marples <roy@marples.name> | |
3 | Date: Tue, 5 Nov 2019 15:52:57 +0000 | |
4 | Subject: INET: Fix corruption of IPv4 address flags when renewing | |
5 | ||
6 | What a mistaka to maka! | |
7 | --- | |
8 | src/ipv4.c | 20 +++++++++----------- | |
9 | 1 file changed, 9 insertions(+), 11 deletions(-) | |
10 | ||
11 | (limited to 'src') | |
12 | ||
13 | diff --git a/src/ipv4.c b/src/ipv4.c | |
14 | index fd2a15d7..53550696 100644 | |
15 | --- a/src/ipv4.c | |
16 | +++ b/src/ipv4.c | |
17 | @@ -654,7 +654,7 @@ ipv4_addaddr(struct interface *ifp, const struct in_addr *addr, | |
18 | #endif | |
19 | ia->flags = IPV4_AF_NEW; | |
20 | } else | |
21 | - ia->flags |= ~IPV4_AF_NEW; | |
22 | + ia->flags &= ~IPV4_AF_NEW; | |
23 | ||
24 | ia->mask = *mask; | |
25 | ia->brd = *bcast; | |
26 | @@ -952,15 +952,13 @@ ipv4_free(struct interface *ifp) | |
27 | struct ipv4_state *state; | |
28 | struct ipv4_addr *ia; | |
29 | ||
30 | - if (ifp) { | |
31 | - state = IPV4_STATE(ifp); | |
32 | - if (state) { | |
33 | - while ((ia = TAILQ_FIRST(&state->addrs))) { | |
34 | - TAILQ_REMOVE(&state->addrs, ia, next); | |
35 | - free(ia); | |
36 | - } | |
37 | - free(state->buffer); | |
38 | - free(state); | |
39 | - } | |
40 | + if (ifp == NULL || (state = IPV4_STATE(ifp)) == NULL) | |
41 | + return; | |
42 | + | |
43 | + while ((ia = TAILQ_FIRST(&state->addrs))) { | |
44 | + TAILQ_REMOVE(&state->addrs, ia, next); | |
45 | + free(ia); | |
46 | } | |
47 | + free(state->buffer); | |
48 | + free(state); | |
49 | } | |
50 | -- | |
51 | cgit v1.2.1 | |
52 |