From: Peter Jones Date: Thu, 5 Sep 2013 17:46:43 +0000 (-0400) Subject: Make the error case from make_boot_var() cleaner. X-Git-Tag: android-x86-7.1-r1~189 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b09c388b42d9cb87ad77ef8a3f8b71154f0da601;p=android-x86%2Fexternal-efibootmgr.git Make the error case from make_boot_var() cleaner. bcl thinks it looks better at the end, and I agree. Signed-off-by: Peter Jones --- diff --git a/src/efibootmgr/efibootmgr.c b/src/efibootmgr/efibootmgr.c index b85c850..47dd20d 100644 --- a/src/efibootmgr/efibootmgr.c +++ b/src/efibootmgr/efibootmgr.c @@ -258,15 +258,8 @@ make_boot_var(list_t *boot_list) boot->num = free_number; boot->guid = EFI_GLOBAL_VARIABLE; rc = asprintf(&boot->name, "Boot%04X", free_number); - if (!rc) { -err_boot_entry: - if (boot->name) - free(boot->name); - if (boot->data) - free(boot->data); - free(boot); - return NULL; - } + if (rc < 0) + goto err_boot_entry; boot->attributes = EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS; @@ -276,6 +269,13 @@ err_boot_entry: goto err_boot_entry; list_add_tail(&boot->list, boot_list); return boot; +err_boot_entry: + if (boot->name) + free(boot->name); + if (boot->data) + free(boot->data); + free(boot); + return NULL; } static int