summaryrefslogtreecommitdiffstats
path: root/sys/dev/malo
diff options
context:
space:
mode:
authorweongyo <weongyo@FreeBSD.org>2009-03-30 08:39:42 +0000
committerweongyo <weongyo@FreeBSD.org>2009-03-30 08:39:42 +0000
commit96b9a81fd8f883257674bf829243b5ee4b7e74df (patch)
treeaf024ee3d68cdbb7b53c0e4fe30c8127355f42d6 /sys/dev/malo
parent84a2f3fa57d0f9a910d58cd7f9183de1e7bb34cd (diff)
downloadFreeBSD-src-96b9a81fd8f883257674bf829243b5ee4b7e74df.zip
FreeBSD-src-96b9a81fd8f883257674bf829243b5ee4b7e74df.tar.gz
fix a bug of uses after free.
Pointed by: dchagin MFC after: 3 days
Diffstat (limited to 'sys/dev/malo')
-rw-r--r--sys/dev/malo/if_malohal.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/malo/if_malohal.c b/sys/dev/malo/if_malohal.c
index b14bff2..7919f7c 100644
--- a/sys/dev/malo/if_malohal.c
+++ b/sys/dev/malo/if_malohal.c
@@ -163,8 +163,6 @@ malo_hal_attach(device_t dev, uint16_t devid,
return (mh);
fail:
- free(mh, M_DEVBUF);
-
if (mh->mh_dmamap != NULL) {
bus_dmamap_unload(mh->mh_dmat, mh->mh_dmamap);
if (mh->mh_cmdbuf != NULL)
@@ -174,6 +172,7 @@ fail:
}
if (mh->mh_dmat)
bus_dma_tag_destroy(mh->mh_dmat);
+ free(mh, M_DEVBUF);
return (NULL);
}
OpenPOWER on IntegriCloud