summaryrefslogtreecommitdiffstats
path: root/sys/netkey/key.c
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2004-01-14 04:10:28 +0000
committerume <ume@FreeBSD.org>2004-01-14 04:10:28 +0000
commit2f5ae919c21b08f3317ea59875bfebfd09525c08 (patch)
tree346db6623fcf5fa4a00092fe3140bf6930c22f7a /sys/netkey/key.c
parent5acce6f7278b734263f6ae1ad1e53cf0fa67f717 (diff)
downloadFreeBSD-src-2f5ae919c21b08f3317ea59875bfebfd09525c08.zip
FreeBSD-src-2f5ae919c21b08f3317ea59875bfebfd09525c08.tar.gz
add missing key_freesp()s. part of
http://sources.zabbadoz.net/freebsd/patchset/110-ipsec-netkey-key.diff with some modification. Submitted by: "Bjoern A. Zeeb" <bzeeb+freebsd@zabbadoz.net> Reviewed by: itojun Obtained from: KAME
Diffstat (limited to 'sys/netkey/key.c')
-rw-r--r--sys/netkey/key.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/netkey/key.c b/sys/netkey/key.c
index 5e97933..5906913 100644
--- a/sys/netkey/key.c
+++ b/sys/netkey/key.c
@@ -2095,6 +2095,7 @@ key_spddelete(so, m, mhp)
ipseclog((LOG_DEBUG,
"key_spddelete2: attempt to remove persistent SP:%u.\n",
sp->id));
+ key_freesp(sp); /* ref gained by key_getsp */
return key_senderror(so, m, EPERM);
}
@@ -2172,11 +2173,12 @@ key_spddelete2(so, m, mhp)
ipseclog((LOG_DEBUG,
"key_spddelete2: attempt to remove persistent SP:%u.\n",
id));
+ key_freesp(sp); /* ref gained by key_getspbyid */
return key_senderror(so, m, EPERM);
}
key_sp_dead(sp);
- key_freesp(sp); /* ref gained by key_getsp */
+ key_freesp(sp); /* ref gained by key_getspbyid */
key_sp_unlink(sp);
sp = NULL;
@@ -2277,6 +2279,7 @@ key_spdget(so, m, mhp)
}
n = key_setdumpsp(sp, SADB_X_SPDGET, 0, mhp->msg->sadb_msg_pid);
+ key_freesp(sp); /* ref gained by key_getspbyid */
if (n != NULL) {
m_freem(m);
return key_sendup_mbuf(so, n, KEY_SENDUP_ONE);
OpenPOWER on IntegriCloud