[PATCH 3/5] imx-image: don't leak file handle
Lucas Stach
dev at lynxeye.de
Mon Apr 21 13:15:24 PDT 2014
Signed-off-by: Lucas Stach <dev at lynxeye.de>
---
scripts/imx/imx-image.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/imx/imx-image.c b/scripts/imx/imx-image.c
index 1d935be7561d..f4890c44d7fa 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 cleanup;
}
break;
}
@@ -567,11 +567,13 @@ static int parse_config(const char *filename)
if (ret == -ENOENT) {
fprintf(stderr, "no such command: %s\n", argv[0]);
- return ret;
+ goto cleanup;
}
}
- return 0;
+cleanup:
+ fclose(f);
+ return ret;
}
static int xread(int fd, void *buf, int len)
--
1.9.0
More information about the barebox
mailing list