Fixed a theoretical memory leak in actually unused code. Reported by cppcheck.
This commit is contained in:
parent
d428bae0fa
commit
f2c2e5e59c
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2015.11.02.151241"
|
||||
#define Cdrskin_timestamP "2015.11.25.093414"
|
||||
|
@ -441,6 +441,11 @@ static void enumerate_common(char *fname, int bus_no, int host_no,
|
||||
struct burn_drive *t;
|
||||
struct burn_drive out;
|
||||
|
||||
/* Initialize pointers to managed memory */
|
||||
out.devname = NULL;
|
||||
out.idata = NULL;
|
||||
out.mdata = NULL;
|
||||
|
||||
/* ts A60923 */
|
||||
out.bus_no = bus_no;
|
||||
out.host = host_no;
|
||||
@ -449,6 +454,8 @@ static void enumerate_common(char *fname, int bus_no, int host_no,
|
||||
out.lun = lun_no;
|
||||
|
||||
out.devname = strdup(fname);
|
||||
if (out.devname == NULL)
|
||||
goto could_not_allocate;
|
||||
|
||||
out.cam = NULL;
|
||||
out.lock_fd = -1;
|
||||
@ -493,9 +500,19 @@ static void enumerate_common(char *fname, int bus_no, int host_no,
|
||||
out.idata->valid = 0;
|
||||
out.mdata = calloc(1, sizeof(struct scsi_mode_data));
|
||||
if (out.idata == NULL || out.mdata == NULL) {
|
||||
could_not_allocate:;
|
||||
libdax_msgs_submit(libdax_messenger, -1, 0x00020108,
|
||||
LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH,
|
||||
"Could not allocate new drive object", 0, 0);
|
||||
if (out.devname != NULL)
|
||||
free(out.devname);
|
||||
out.devname = NULL;
|
||||
if (out.idata != NULL)
|
||||
free(out.idata);
|
||||
out.idata = NULL;
|
||||
if (out.mdata != NULL)
|
||||
free(out.mdata);
|
||||
out.mdata = NULL;
|
||||
return;
|
||||
}
|
||||
out.mdata->p2a_valid = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user