Change-Id: I4db1099fad531a4cc4f83ee8d133f972395871a2
Signed-off-by: giyeol.ok <giyeol.ok@samsung.com>
mod |= readfat(dosfs, &boot, boot.ValidFat >= 0 ? boot.ValidFat : 0, &fat);
if (mod & FSFATAL) {
printf("Fatal error during readfat()\n");
+ if (fat)
+ free(fat);
close(dosfs);
return 8;
}
if (!entry->name) {
_E("Malloc failed");
- free(entry);
- return -1;
+ goto free_entry;
}
entry->fs_ops = malloc(sizeof(struct mmc_filesystem_ops));
if (!entry->fs_ops) {
_E("Malloc failed");
- return -1;
+ goto free_entry_with_name;
}
entry->fs_ops->init = filesystem_type.init;
entry = get_mmc_fs(tmp, struct mmc_filesystem_info, list);
}
return 0;
+
+ free_entry_with_name:
+ free(entry->name);
+
+ free_entry:
+ free(entry);
+
+ return -1;
}
static void ss_mmc_booting_done(void* data)