Skip site navigation (1)Skip section navigation (2)
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>