mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-02 21:32:58 +00:00
MFC r317759:
Fix memory leaks in camcontrol Reported by: Coverity CID: 1331674, 1331675 Reviewed by: ken Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D10588
This commit is contained in:
parent
126bfd62c4
commit
c698752873
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=319266
@ -550,8 +550,7 @@ fw_validate_ibm(struct cam_device *dev, int retry_count, int timeout, int fd,
|
||||
fprintf(stdout, "Firmware file is valid for this drive.\n");
|
||||
retval = 0;
|
||||
bailout:
|
||||
if (ccb != NULL)
|
||||
cam_freeccb(ccb);
|
||||
cam_freeccb(ccb);
|
||||
|
||||
return (retval);
|
||||
}
|
||||
@ -744,8 +743,8 @@ fw_check_device_ready(struct cam_device *dev, camcontrol_devtype devtype,
|
||||
goto bailout;
|
||||
}
|
||||
bailout:
|
||||
if (ccb != NULL)
|
||||
cam_freeccb(ccb);
|
||||
free(ptr);
|
||||
cam_freeccb(ccb);
|
||||
|
||||
return (retval);
|
||||
}
|
||||
@ -895,8 +894,7 @@ fw_download_img(struct cam_device *cam_dev, struct fw_vendor *vp,
|
||||
bailout:
|
||||
if (quiet == 0)
|
||||
progress_complete(&progress, size - img_size);
|
||||
if (ccb != NULL)
|
||||
cam_freeccb(ccb);
|
||||
cam_freeccb(ccb);
|
||||
return (retval);
|
||||
}
|
||||
|
||||
@ -905,6 +903,7 @@ fwdownload(struct cam_device *device, int argc, char **argv,
|
||||
char *combinedopt, int printerrors, int task_attr, int retry_count,
|
||||
int timeout)
|
||||
{
|
||||
union ccb *ccb = NULL;
|
||||
struct fw_vendor *vp;
|
||||
char *fw_img_path = NULL;
|
||||
struct ata_params *ident_buf = NULL;
|
||||
@ -947,8 +946,6 @@ fwdownload(struct cam_device *device, int argc, char **argv,
|
||||
|
||||
if ((devtype == CC_DT_ATA)
|
||||
|| (devtype == CC_DT_ATA_BEHIND_SCSI)) {
|
||||
union ccb *ccb;
|
||||
|
||||
ccb = cam_getccb(device);
|
||||
if (ccb == NULL) {
|
||||
warnx("couldn't allocate CCB");
|
||||
@ -958,7 +955,6 @@ fwdownload(struct cam_device *device, int argc, char **argv,
|
||||
|
||||
if (ata_do_identify(device, retry_count, timeout, ccb,
|
||||
&ident_buf) != 0) {
|
||||
cam_freeccb(ccb);
|
||||
retval = 1;
|
||||
goto bailout;
|
||||
}
|
||||
@ -1030,6 +1026,7 @@ fwdownload(struct cam_device *device, int argc, char **argv,
|
||||
fprintf(stdout, "Firmware download successful\n");
|
||||
|
||||
bailout:
|
||||
cam_freeccb(ccb);
|
||||
free(buf);
|
||||
return (retval);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user