diff options
author | sam <sam@FreeBSD.org> | 2003-06-29 23:58:38 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-06-29 23:58:38 +0000 |
commit | 68cba5536261ecfb6a1ae7d66fbdd97474906746 (patch) | |
tree | 9426ac0036997768ea1a1cd94ab8db49c94199a4 /sys/netipsec/ipsec.c | |
parent | 2973509c1f0462a463fb307ef94fbfc3e80a5c18 (diff) | |
download | FreeBSD-src-68cba5536261ecfb6a1ae7d66fbdd97474906746.zip FreeBSD-src-68cba5536261ecfb6a1ae7d66fbdd97474906746.tar.gz |
plug xform memory leaks:
o add missing zeroize op when deleting an SA
o don't re-initialize an xform for an SA that already has one
Submitted by: Doug Ambrisko <ambrisko@verniernetworks.com>
MFC after: 1 day
Diffstat (limited to 'sys/netipsec/ipsec.c')
-rw-r--r-- | sys/netipsec/ipsec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netipsec/ipsec.c b/sys/netipsec/ipsec.c index 1eb0f6a..bbbe0ce 100644 --- a/sys/netipsec/ipsec.c +++ b/sys/netipsec/ipsec.c @@ -1922,6 +1922,8 @@ xform_init(struct secasvar *sav, int xftype) { struct xformsw *xsp; + if (sav->tdb_xform != NULL) /* previously initialized */ + return 0; for (xsp = xforms; xsp; xsp = xsp->xf_next) if (xsp->xf_type == xftype) return (*xsp->xf_init)(sav, xsp); |