From ecb2a4eba928adede6164893f731ee1b5ea3dc43 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Tue, 3 Jun 2014 08:20:44 +0200 Subject: [PATCH] fixed file descriptor leaks --- src/lib/pio.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/lib/pio.c b/src/lib/pio.c index 4a1a6ce..f6ebc73 100644 --- a/src/lib/pio.c +++ b/src/lib/pio.c @@ -168,11 +168,11 @@ char *file_get_content(const char *fpath) page = malloc(size + 1); if (!page || size != fread(page, 1, size, fp)) { free(page); - return NULL; + page = NULL; + } else { + *(page + size) = '\0'; } - *(page + size) = '\0'; - fclose(fp); } else { page = NULL; @@ -185,25 +185,24 @@ char *file_get_content(const char *fpath) long file_get_size(const char *path) { FILE *fp; + long size; if (!is_file(path)) return -1; fp = fopen(path, "rb"); if (fp) { - long size; - if (fseek(fp, 0, SEEK_END) == -1) - return -1; - - size = ftell(fp); + size = -1; + else + size = ftell(fp); fclose(fp); - - return size; + } else { + size = -1; } - return -1; + return size; } #define FCOPY_BUF_SZ 4096 -- 2.7.4