summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-06-05 08:36:37 +0000
committermav <mav@FreeBSD.org>2010-06-05 08:36:37 +0000
commit508015d598daa20a8ec94364f3594515a2360d24 (patch)
treefb37085735930be7ded04a07d62228ed57637e03
parentfacac1187d03ba7615c0f08e3461c330b8316e44 (diff)
downloadFreeBSD-src-508015d598daa20a8ec94364f3594515a2360d24.zip
FreeBSD-src-508015d598daa20a8ec94364f3594515a2360d24.tar.gz
Fix double free on error.
Found with: Coverity Prevent(tm) CID: 4573
-rw-r--r--sys/cam/ata/ata_pmp.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/cam/ata/ata_pmp.c b/sys/cam/ata/ata_pmp.c
index 0835a2b..3520376 100644
--- a/sys/cam/ata/ata_pmp.c
+++ b/sys/cam/ata/ata_pmp.c
@@ -737,10 +737,8 @@ pmpdone(struct cam_periph *periph, union ccb *done_ccb)
if (xpt_create_path(&dpath, periph,
xpt_path_path_id(periph->path),
i, 0) != CAM_REQ_CMP) {
- printf("pmpdone: xpt_create_path failed"
- ", bus scan halted\n");
- xpt_free_ccb(done_ccb);
- goto done;
+ printf("pmpdone: xpt_create_path failed\n");
+ continue;
}
/* If we did hard reset to this device, inform XPT. */
if ((softc->reset & softc->found & (1 << i)) != 0)
OpenPOWER on IntegriCloud