PERFORCE change 38686 for review
Sam Leffler
sam at FreeBSD.org
Fri Sep 26 16:21:09 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=38686
Change 38686 by sam at sam_ebb on 2003/09/26 16:20:51
move iv free'ing to where it is allocated; this also corrects
a malloc type mismatch that (in 4.x) made folks think there was
a memory leak ('cuz memory was allocated to one bucket but free'd
to another)
Affected files ...
.. //depot/projects/netperf/sys/netipsec/key.c#8 edit
.. //depot/projects/netperf/sys/netipsec/xform_esp.c#6 edit
Differences ...
==== //depot/projects/netperf/sys/netipsec/key.c#8 (text+ko) ====
@@ -2772,6 +2772,7 @@
sav->tdb_xform->xf_zeroize(sav);
sav->tdb_xform = NULL;
} else {
+ KASSERT(sav->iv == NULL, ("iv but no xform"));
if (sav->key_auth != NULL)
bzero(_KEYBUF(sav->key_auth), _KEYLEN(sav->key_auth));
if (sav->key_enc != NULL)
@@ -2806,10 +2807,6 @@
free(sav->lft_s, M_IPSEC_MISC);
sav->lft_s = NULL;
}
- if (sav->iv != NULL) {
- free(sav->iv, M_IPSEC_MISC);
- sav->iv = NULL;
- }
}
/*
==== //depot/projects/netperf/sys/netipsec/xform_esp.c#6 (text+ko) ====
@@ -249,7 +249,10 @@
if (sav->key_enc)
bzero(_KEYBUF(sav->key_enc), _KEYLEN(sav->key_enc));
- /* NB: sav->iv is freed elsewhere, even though we malloc it! */
+ if (sav->iv) {
+ free(sav->iv, M_XDATA);
+ sav->iv = NULL;
+ }
sav->tdb_encalgxform = NULL;
sav->tdb_xform = NULL;
return error;
More information about the p4-projects
mailing list