]> git.pld-linux.org Git - packages/dhcpcd.git/blame - cpuhog.patch
- correct patch
[packages/dhcpcd.git] / cpuhog.patch
CommitLineData
4269699a
AM
1From 73ac184333f77b38a8b4c4202c2928278e2237ca Mon Sep 17 00:00:00 2001
2From: Roy Marples <roy@marples.name>
3Date: Tue, 5 Nov 2019 15:52:57 +0000
4Subject: INET: Fix corruption of IPv4 address flags when renewing
5
6What a mistaka to maka!
7---
8 src/ipv4.c | 20 +++++++++-----------
9 1 file changed, 9 insertions(+), 11 deletions(-)
10
11(limited to 'src')
12
13diff --git a/src/ipv4.c b/src/ipv4.c
14index 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--
51cgit v1.2.1
52
This page took 0.057867 seconds and 4 git commands to generate.