summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_aes.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-05-02 12:52:51 +0000
committerphk <phk@FreeBSD.org>2003-05-02 12:52:51 +0000
commit3708ab2594ddc5f06b4b7aad45d15712e9c90c35 (patch)
tree5c7cf515abdd5409187b00943f2498cdf48e74a2 /sys/geom/geom_aes.c
parent637729fea070301296b3a2385913079323473ba0 (diff)
downloadFreeBSD-src-3708ab2594ddc5f06b4b7aad45d15712e9c90c35.zip
FreeBSD-src-3708ab2594ddc5f06b4b7aad45d15712e9c90c35.tar.gz
Use g_wither_geom() and plug memory leaks.
Diffstat (limited to 'sys/geom/geom_aes.c')
-rw-r--r--sys/geom/geom_aes.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/geom/geom_aes.c b/sys/geom/geom_aes.c
index 95055dd..0745624 100644
--- a/sys/geom/geom_aes.c
+++ b/sys/geom/geom_aes.c
@@ -251,11 +251,9 @@ g_aes_orphan(struct g_consumer *cp)
gp = cp->geom;
sc = gp->softc;
- gp->flags |= G_GEOM_WITHER;
- error = cp->provider->error;
- LIST_FOREACH(pp, &gp->provider, provider)
- g_orphan_provider(pp, error);
+ g_wither_geom(gp, cp->provider->error);
bzero(sc, sizeof(struct g_aes_softc)); /* destroy evidence */
+ g_free(sc);
return;
}
@@ -323,9 +321,11 @@ g_aes_taste(struct g_class *mp, struct g_provider *pp, int flags __unused)
strlen(aes_magic_test))) {
sc->keying = KEY_TEST;
} else {
+ g_free(buf);
g_free(sc);
break;
}
+ g_free(buf);
gp->softc = sc;
gp->access = g_aes_access;
sc->sectorsize = sectorsize;
OpenPOWER on IntegriCloud