aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/scsi
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2009-01-23 21:06:16 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2009-01-23 21:06:16 +0000
commit041361d899894e33f251f7c70314818894fbfe85 (patch)
treeb94205c7a7ad1c7ee194521568dd7b98e6112c69 /sys/cam/scsi
parentac37e649a95fb489cab6d192f156327c07b30380 (diff)
downloadsrc-041361d899894e33f251f7c70314818894fbfe85.tar.gz
src-041361d899894e33f251f7c70314818894fbfe85.zip
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
Notes
Notes: svn path=/head/; revision=187651
Diffstat (limited to 'sys/cam/scsi')
-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 0f4fe2713c88..57054a23e931 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;