if (!imagepath)
return 0;
- else
- ipath = strdup(imagepath);
+ else if (!(ipath = strdup(imagepath)))
+ return 0;
if (defdevice)
defdev = strdup(defdevice);
if ((ptr = strrchr(defdev, ':')) != NULL)
*ptr = 0; /* remove trailing : from defdevice if necessary */
}
+ } else {
+ return 0;
}
/* if there is no : then there is no filename or partition. must
} else if (strlen(ipath)) {
result->file = strdup(ipath);
} else {
+ free(defdev);
return 0;
}
free(ipath);
if (defdev)
- free(defdev);
+ free(defdev);
return 1;
}