Module Name: src Committed By: christos Date: Wed May 26 14:48:02 UTC 2021
Modified Files: src/sys/external/bsd/ipf/netinet: ip_nat.c Log Message: Fix ip_nat memory leak and use-after-free, wrong element freed (Cy Schubert) https://cgit.freebsd.org/src/commit/?id=323a4e2c4e285e6f8eee8db3fe2cb74 To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/external/bsd/ipf/netinet/ip_nat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/ipf/netinet/ip_nat.c diff -u src/sys/external/bsd/ipf/netinet/ip_nat.c:1.23 src/sys/external/bsd/ipf/netinet/ip_nat.c:1.24 --- src/sys/external/bsd/ipf/netinet/ip_nat.c:1.23 Sat Aug 1 02:50:42 2020 +++ src/sys/external/bsd/ipf/netinet/ip_nat.c Wed May 26 10:48:02 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_nat.c,v 1.23 2020/08/01 06:50:42 maxv Exp $ */ +/* $NetBSD: ip_nat.c,v 1.24 2021/05/26 14:48:02 christos Exp $ */ /* * Copyright (C) 2012 by Darren Reed. @@ -112,7 +112,7 @@ extern struct ifnet vpnif; #if !defined(lint) #if defined(__NetBSD__) #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ip_nat.c,v 1.23 2020/08/01 06:50:42 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip_nat.c,v 1.24 2021/05/26 14:48:02 christos Exp $"); #else static const char sccsid[] = "@(#)ip_nat.c 1.11 6/5/96 (C) 1995 Darren Reed"; static const char rcsid[] = "@(#)Id: ip_nat.c,v 1.1.1.2 2012/07/22 13:45:27 darrenr Exp"; @@ -6178,7 +6178,7 @@ ipf_nat_rule_deref(ipf_main_softc_t *sof 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]); } }