Date: Fri, 26 Sep 2003 16:21:04 -0700 (PDT) From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 38686 for review Message-ID: <200309262321.h8QNL4jt060955@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=38686 Change 38686 by sam@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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309262321.h8QNL4jt060955>