summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-cam.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2004-01-18 17:21:15 +0000
committerru <ru@FreeBSD.org>2004-01-18 17:21:15 +0000
commitd1f9a77c028e2cb7ac1491b2c7d66597aa601433 (patch)
tree04264d39dd58498fb70a72be2d3d7b61ca9abcc2 /sys/dev/ata/atapi-cam.c
parenta69314d2728f44550610ff38d9567c94c958cc0f (diff)
downloadFreeBSD-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.c4
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)*/);
OpenPOWER on IntegriCloud