From 0ad753689e1d2a348616ea10d4f09178cf8d67bc Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Fri, 14 Aug 2015 15:36:50 +0100 Subject: [PATCH] mraa.c: Fix error handing resource leaks in mraa_file_contains_* Signed-off-by: Brendan Le Foll --- src/mraa.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mraa.c b/src/mraa.c index 3bf9a19..5a1772f 100644 --- a/src/mraa.c +++ b/src/mraa.c @@ -355,8 +355,14 @@ mraa_file_contains(const char* filename, const char* content) if (file != NULL) { size_t len = 1024; char* line = malloc(len); + if (line == NULL) { + close(file); + return 0; + } FILE* fh = fopen(file, "r"); if (fh == NULL) { + close(file); + free(line); return 0; } while ((getline(&line, &len, fh) != -1) && (found == 0)) { @@ -384,8 +390,14 @@ mraa_file_contains_both(const char* filename, const char* content, const char* c if (file != NULL) { size_t len = 1024; char* line = malloc(len); + if (line == NULL) { + close(file); + return 0; + } FILE* fh = fopen(file, "r"); if (fh == NULL) { + close(file); + free(line); return 0; } while ((getline(&line, &len, fh) != -1) && (found == 0)) {