diff options
author | ume <ume@FreeBSD.org> | 2004-01-25 17:18:12 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2004-01-25 17:18:12 +0000 |
commit | 58f738b753e1f4c179f0f3a72a6ea20795342982 (patch) | |
tree | 67918d8e04110ae557aa84174dbee9f35c2280bc | |
parent | bd192db42cf17d384a3ed82d456feed917e17952 (diff) | |
download | FreeBSD-src-58f738b753e1f4c179f0f3a72a6ea20795342982.zip FreeBSD-src-58f738b753e1f4c179f0f3a72a6ea20795342982.tar.gz |
avoid duplicate free.
(though KAME doesn't decide how to fix it yet, I once commit it
to be in time for 5.2.1-RELEASE.)
Submitted by: itojun
-rw-r--r-- | sys/netkey/key.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netkey/key.c b/sys/netkey/key.c index abb58f7..e38226a 100644 --- a/sys/netkey/key.c +++ b/sys/netkey/key.c @@ -1958,7 +1958,6 @@ key_spdadd(so, m, mhp) newsp->lifetime = lft ? lft->sadb_lifetime_addtime : 0; newsp->validtime = lft ? lft->sadb_lifetime_usetime : 0; - newsp->refcnt = 1; /* do not reclaim until I say I do */ newsp->state = IPSEC_SPSTATE_ALIVE; LIST_INSERT_TAIL(&sptree[newsp->dir], newsp, secpolicy, chain); @@ -7591,9 +7590,10 @@ key_sp_unlink(sp) { /* remove from SP index */ - if (__LIST_CHAINED(sp)) + if (__LIST_CHAINED(sp)) { LIST_REMOVE(sp, chain); - key_freesp(sp); + key_freesp(sp); + } } /* XXX too much? */ |