summaryrefslogtreecommitdiffstats
path: root/sys/cam/cam_xpt.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-02-04 00:51:06 +0000
committermav <mav@FreeBSD.org>2014-02-04 00:51:06 +0000
commitd374d7f398b846dc59d8a5ec3c7bfb318cf880af (patch)
tree63336a14b0719012c88bd76a43bb9f9159c4b78c /sys/cam/cam_xpt.c
parent9fa9e83832f976a3b994a1e6b074a708d42b17e3 (diff)
downloadFreeBSD-src-d374d7f398b846dc59d8a5ec3c7bfb318cf880af.zip
FreeBSD-src-d374d7f398b846dc59d8a5ec3c7bfb318cf880af.tar.gz
MFC r260996:
Fix memory and references leak due to unfreed path in case we can't allocate bus scan CCB.
Diffstat (limited to 'sys/cam/cam_xpt.c')
-rw-r--r--sys/cam/cam_xpt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 562d7ba..5444d0a 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -3917,9 +3917,11 @@ xpt_bus_register(struct cam_sim *sim, device_t parent, u_int32_t bus)
scan_ccb->ccb_h.func_code = XPT_SCAN_BUS;
scan_ccb->crcn.flags = 0;
xpt_rescan(scan_ccb);
- } else
+ } else {
xpt_print(path,
"Can't allocate CCB to scan bus\n");
+ xpt_free_path(path);
+ }
} else
xpt_free_path(path);
} else
OpenPOWER on IntegriCloud