Mercurial > hg > dhcpcd
changeset 4246:687273d5849d draft
BSD: fix segfault when on carrier when IPv6 addresses are present
This doesn't affect NetBSD.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Tue, 27 Mar 2018 23:06:30 +0100 |
| parents | e2fd7f648419 |
| children | 22a5ac71f5c8 |
| files | src/dhcpcd.c |
| diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dhcpcd.c Tue Mar 27 07:52:25 2018 +0000 +++ b/src/dhcpcd.c Tue Mar 27 23:06:30 2018 +0100 @@ -995,6 +995,7 @@ } /* Check if we already have the interface */ iff = if_find(ctx->ifaces, ifp->name); + if (iff != NULL) { if (iff->active) logdebugx("%s: interface updated", iff->name); @@ -1013,9 +1014,12 @@ } iff = ifp; } - if_learnaddrs(ctx, ifs, &ifaddrs); - if (action > 0 && iff->active) - dhcpcd_prestartinterface(iff); + + if (action > 0) { + if_learnaddrs(ctx, ifs, &ifaddrs); + if (iff->active) + dhcpcd_prestartinterface(iff); + } /* Free our discovered list */ while ((ifp = TAILQ_FIRST(ifs))) {
