
Previously, ret could be used uninitialized if blk_get_device_part_str() failed. Default to ret being set to -1 so that we always return an err up if we have a problem and then invert the logic on testing ums_count as when that is non-zero is the time we can return 0.
Cc: John Tobias john.tobias.ph@gmail.com Cc: Marek Vasut marex@denx.de Signed-off-by: Tom Rini trini@konsulko.com --- cmd/usb_mass_storage.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c index ac53a73..b03d567 100644 --- a/cmd/usb_mass_storage.c +++ b/cmd/usb_mass_storage.c @@ -56,7 +56,7 @@ static int ums_init(const char *devtype, const char *devnums_part_str) struct blk_desc *block_dev; disk_partition_t info; int partnum; - int ret; + int ret = -1; struct ums *ums_new;
s = strdup(devnums_part_str); @@ -86,13 +86,11 @@ static int ums_init(const char *devtype, const char *devnums_part_str)
/* f_mass_storage.c assumes SECTOR_SIZE sectors */ if (block_dev->blksz != SECTOR_SIZE) { - ret = -1; goto cleanup; }
ums_new = realloc(ums, (ums_count + 1) * sizeof(*ums)); if (!ums_new) { - ret = -1; goto cleanup; } ums = ums_new; @@ -111,7 +109,6 @@ static int ums_init(const char *devtype, const char *devnums_part_str)
name = malloc(UMS_NAME_LEN); if (!name) { - ret = -1; goto cleanup; } snprintf(name, UMS_NAME_LEN, "UMS disk %d", ums_count); @@ -127,9 +124,7 @@ static int ums_init(const char *devtype, const char *devnums_part_str) ums_count++; }
- if (!ums_count) - ret = -1; - else + if (ums_count) ret = 0;
cleanup: