[PATCH 01/12] scripts: imx-image: Fix resource leak

Alexander Shiyan shc_work at mail.ru
Sat Apr 12 01:10:54 PDT 2014


Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
---
 scripts/imx/imx-image.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/scripts/imx/imx-image.c b/scripts/imx/imx-image.c
index 1d935be..f87f4d2 100644
--- a/scripts/imx/imx-image.c
+++ b/scripts/imx/imx-image.c
@@ -528,7 +528,7 @@ static int parse_config(const char *filename)
 	int lineno = 0;
 	char *line = NULL, *tmp;
 	char *argv[MAXARGS];
-	int nargs, i, ret;
+	int nargs, i, ret = 0;
 
 	f = fopen(filename, "r");
 	if (!f) {
@@ -559,7 +559,7 @@ static int parse_config(const char *filename)
 				if (ret) {
 					fprintf(stderr, "error in line %d: %s\n",
 							lineno, strerror(-ret));
-					return ret;
+					goto out_parse;
 				}
 				break;
 			}
@@ -567,11 +567,14 @@ static int parse_config(const char *filename)
 
 		if (ret == -ENOENT) {
 			fprintf(stderr, "no such command: %s\n", argv[0]);
-			return ret;
+			break;
 		}
 	}
 
-	return 0;
+out_parse:
+	fclose(f);
+
+	return ret;
 }
 
 static int xread(int fd, void *buf, int len)
-- 
1.8.3.2




More information about the barebox mailing list