diff options
author | ru <ru@FreeBSD.org> | 2004-01-18 17:21:15 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2004-01-18 17:21:15 +0000 |
commit | d1f9a77c028e2cb7ac1491b2c7d66597aa601433 (patch) | |
tree | 04264d39dd58498fb70a72be2d3d7b61ca9abcc2 /sys/dev/ata/atapi-cam.c | |
parent | a69314d2728f44550610ff38d9567c94c958cc0f (diff) | |
download | FreeBSD-src-d1f9a77c028e2cb7ac1491b2c7d66597aa601433.zip FreeBSD-src-d1f9a77c028e2cb7ac1491b2c7d66597aa601433.tar.gz |
Fixed a memory leak.
Diffstat (limited to 'sys/dev/ata/atapi-cam.c')
-rw-r--r-- | sys/dev/ata/atapi-cam.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/atapi-cam.c b/sys/dev/ata/atapi-cam.c index d695b47..bad2238 100644 --- a/sys/dev/ata/atapi-cam.c +++ b/sys/dev/ata/atapi-cam.c @@ -683,8 +683,10 @@ cam_rescan(struct cam_sim *sim) union ccb *ccb = malloc(sizeof(union ccb), M_ATACAM, M_WAITOK | M_ZERO); if (xpt_create_path(&path, xpt_periph, cam_sim_path(sim), - CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) + CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + free(ccb, M_ATACAM); return; + } CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("Rescanning ATAPI bus.\n")); xpt_setup_ccb(&ccb->ccb_h, path, 5/*priority (low)*/); |