[PATCH] lib: fwts_framework: free resources on error
Colin King
colin.king at canonical.com
Tue May 7 06:53:37 UTC 2013
From: Colin Ian King <colin.king at canonical.com>
Coverity CID#997345: Resource leak
We need to free args and fw on fwts_args_add_option() error
exit.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/lib/src/fwts_framework.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
index 57079e6..67dd3ab 100644
--- a/src/lib/src/fwts_framework.c
+++ b/src/lib/src/fwts_framework.c
@@ -1195,7 +1195,7 @@ int fwts_framework_args(const int argc, char **argv)
ret = fwts_args_add_options(fwts_framework_options,
fwts_framework_options_handler, NULL);
if (ret == FWTS_ERROR)
- return ret;
+ goto tidy_args;
fw->firmware_type = fwts_firmware_detect();
@@ -1354,7 +1354,6 @@ tidy:
tidy_close:
fwts_acpi_free_tables();
fwts_summary_deinit();
- fwts_args_free();
free(fw->lspci);
free(fw->results_logname);
@@ -1370,6 +1369,8 @@ tidy_close:
if ((fw->total.failed > 0) || (fw->total.warning > 0))
ret = FWTS_ERROR;
+tidy_args:
+ fwts_args_free();
free(fw);
return ret;
--
1.8.1.2
More information about the fwts-devel
mailing list