summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2009-01-23 21:06:16 +0000
committertrasz <trasz@FreeBSD.org>2009-01-23 21:06:16 +0000
commit4c4c620921c8b4c20f7dc07d08913f8a39f7f659 (patch)
treeb94205c7a7ad1c7ee194521568dd7b98e6112c69 /sys/cam
parentfa6d1261af186403e4722ffa6aeeff18692d7794 (diff)
downloadFreeBSD-src-4c4c620921c8b4c20f7dc07d08913f8a39f7f659.zip
FreeBSD-src-4c4c620921c8b4c20f7dc07d08913f8a39f7f659.tar.gz
Don't leak memory when alloc fails.
Reviewed by: scottl Approved by: rwatson (mentor) Sponsored by: FreeBSD Foundation Found with: Coverity Prevent(tm) CID: 2908
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/scsi/scsi_low.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/cam/scsi/scsi_low.c b/sys/cam/scsi/scsi_low.c
index 0f4fe27..57054a2 100644
--- a/sys/cam/scsi/scsi_low.c
+++ b/sys/cam/scsi/scsi_low.c
@@ -966,16 +966,16 @@ scsi_low_rescan_bus_cam(slp)
struct scsi_low_softc *slp;
{
struct cam_path *path;
- union ccb *ccb = xpt_alloc_ccb();
+ union ccb *ccb;
cam_status status;
- bzero(ccb, sizeof(union ccb));
-
status = xpt_create_path(&path, xpt_periph,
cam_sim_path(slp->sl_si.sim), -1, 0);
if (status != CAM_REQ_CMP)
return;
+ ccb = xpt_alloc_ccb();
+ bzero(ccb, sizeof(union ccb));
xpt_setup_ccb(&ccb->ccb_h, path, 5);
ccb->ccb_h.func_code = XPT_SCAN_BUS;
ccb->ccb_h.cbfcnp = scsi_low_cam_rescan_callback;
OpenPOWER on IntegriCloud