diff options
author | mav <mav@FreeBSD.org> | 2010-06-05 08:36:37 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2010-06-05 08:36:37 +0000 |
commit | 508015d598daa20a8ec94364f3594515a2360d24 (patch) | |
tree | fb37085735930be7ded04a07d62228ed57637e03 | |
parent | facac1187d03ba7615c0f08e3461c330b8316e44 (diff) | |
download | FreeBSD-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.c | 6 |
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) |