From 4d5ad7c9c64dd2e96e18cdf6ce5334f8f47de59c Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Mon, 21 Apr 2014 22:15:24 +0200 Subject: imx-image: don't leak file handle Signed-off-by: Lucas Stach Signed-off-by: Sascha Hauer --- 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 1d935be756..f4890c44d7 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) -- cgit v1.2.3