diff options
-rw-r--r-- | sys/netinet/libalias/alias_db.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c index a9e96d1..c9942b8 100644 --- a/sys/netinet/libalias/alias_db.c +++ b/sys/netinet/libalias/alias_db.c @@ -819,8 +819,12 @@ CleanupAliasData(struct libalias *la) LIBALIAS_LOCK_ASSERT(la); for (i = 0; i < LINK_TABLE_OUT_SIZE; i++) { - while ((lnk = LIST_FIRST(&la->linkTableOut[i])) != NULL) + lnk = LIST_FIRST(&la->linkTableOut[i]); + while (lnk != NULL) { + struct alias_link *link_next = LIST_NEXT(lnk, list_out); DeleteLink(lnk); + lnk = link_next; + } } la->cleanupIndex = 0; |