aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/libalias
diff options
context:
space:
mode:
authorEugene Grosbein <eugen@FreeBSD.org>2024-08-19 03:34:37 +0000
committerEugene Grosbein <eugen@FreeBSD.org>2024-08-19 03:34:37 +0000
commit8132e959099f0c533f698d8fbc17386f9144432f (patch)
treef8a47fd58d7f633bc69f52a8f7746758ea69b72b /sys/netinet/libalias
parent0a9d1da6e6cede5e9c0ff63240d724049ad72b5b (diff)
Diffstat (limited to 'sys/netinet/libalias')
-rw-r--r--sys/netinet/libalias/alias_db.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c
index 167201fa1b8f..d516b6cda96c 100644
--- a/sys/netinet/libalias/alias_db.c
+++ b/sys/netinet/libalias/alias_db.c
@@ -868,8 +868,15 @@ _FindLinkIn(struct libalias *la, struct in_addr dst_addr,
case 0:
LIST_FOREACH(lnk, &grp->full, all.in) {
if (lnk->dst_addr.s_addr == dst_addr.s_addr &&
- lnk->dst_port == dst_port)
- return (UseLink(la, lnk));
+ lnk->dst_port == dst_port) {
+ struct alias_link *found;
+
+ found = UseLink(la, lnk);
+ if (found != NULL)
+ return (found);
+ /* link expired */
+ break;
+ }
}
break;
case LINK_UNKNOWN_DEST_PORT: