Fix memory leak in scsi_scan_bus()

CID:	1007770
PR:	199671
This commit is contained in:
Pedro F. Giffuni 2015-04-29 15:46:57 +00:00
parent 3b7176c90a
commit bfce3bb269
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282227

View File

@ -2008,6 +2008,7 @@ scsi_scan_bus(struct cam_periph *periph, union ccb *request_ccb)
" with status %#x, bus scan halted\n",
status);
free(scan_info, M_CAMXPT);
scan_info = NULL;
request_ccb->ccb_h.status = status;
xpt_free_ccb(work_ccb);
xpt_done(request_ccb);
@ -2017,6 +2018,7 @@ scsi_scan_bus(struct cam_periph *periph, union ccb *request_ccb)
if (work_ccb == NULL) {
xpt_free_ccb((union ccb *)scan_info->cpi);
free(scan_info, M_CAMXPT);
scan_info = NULL;
xpt_free_path(path);
request_ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
xpt_done(request_ccb);
@ -2032,6 +2034,7 @@ scsi_scan_bus(struct cam_periph *periph, union ccb *request_ccb)
xpt_action(work_ccb);
}
free(scan_info, M_CAMXPT);
mtx_lock(mtx);
break;
}