aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2021-05-25 18:54:49 +0000
committerCy Schubert <cy@FreeBSD.org>2021-06-03 00:57:45 +0000
commitc8773c8018e74a34a5d9e7ec6d66f4311148f975 (patch)
treee6b96ba4aab9f7f1430af3eb911a34684d855fab
parentfedf63143b6ee3cdf393c2e5038edf9490a6d664 (diff)
downloadsrc-c8773c8018e74a34a5d9e7ec6d66f4311148f975.tar.gz
src-c8773c8018e74a34a5d9e7ec6d66f4311148f975.zip
ipfilter: Fix ip_nat memory leak and use-after-free
Unfortunately the wrong elemet is freed, also resulting in use-after-free. PR: 255859 Submitted by: lylgood@foxmail.com Reported by: lylgood@foxmail.com (cherry picked from commit 323a4e2c4e285e6f8eee8db3fe2cb7490a734da0)
-rw-r--r--sys/contrib/ipfilter/netinet/ip_nat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_nat.c b/sys/contrib/ipfilter/netinet/ip_nat.c
index bbf78877249c..028be649cccd 100644
--- a/sys/contrib/ipfilter/netinet/ip_nat.c
+++ b/sys/contrib/ipfilter/netinet/ip_nat.c
@@ -6243,7 +6243,7 @@ ipf_nat_rule_deref(softc, inp)
if (n->in_tqehead[0] != NULL) {
if (ipf_deletetimeoutqueue(n->in_tqehead[0]) == 0) {
- ipf_freetimeoutqueue(softc, n->in_tqehead[1]);
+ ipf_freetimeoutqueue(softc, n->in_tqehead[0]);
}
}