diff options
author | trasz <trasz@FreeBSD.org> | 2009-01-23 21:06:16 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2009-01-23 21:06:16 +0000 |
commit | 4c4c620921c8b4c20f7dc07d08913f8a39f7f659 (patch) | |
tree | b94205c7a7ad1c7ee194521568dd7b98e6112c69 /sys/cam | |
parent | fa6d1261af186403e4722ffa6aeeff18692d7794 (diff) | |
download | FreeBSD-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.c | 6 |
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; |