From: Andrea Dalla Costa Date: Sat, 11 Jan 2020 21:57:58 +0000 (+0100) Subject: firmware-utils/hcsmakeimage: fix possible memory leak and resource leaks X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d64b20da21d796334840fe9614bb0cb572e22fda;p=openwrt%2Fstaging%2Fblocktrron.git firmware-utils/hcsmakeimage: fix possible memory leak and resource leaks Add missing calls to `free` for variable `filebuffer`. Add missing calls to `fclose` for variables `fd` and `fd_out`. Signed-off-by: Andrea Dalla Costa --- diff --git a/tools/firmware-utils/src/hcsmakeimage.c b/tools/firmware-utils/src/hcsmakeimage.c index 7baa7b5845..2888810cc7 100644 --- a/tools/firmware-utils/src/hcsmakeimage.c +++ b/tools/firmware-utils/src/hcsmakeimage.c @@ -183,6 +183,7 @@ int main ( int argc, char** argv ) char* filebuffer = malloc ( buf.st_size+10 ); FILE* fd = fopen ( input,"r" ); fread ( filebuffer, 1, buf.st_size,fd ); + fclose (fd); if (!output) { output = malloc(strlen(input+5)); @@ -194,10 +195,13 @@ int main ( int argc, char** argv ) if (!fd_out) { fprintf(stderr, "Failed to open output file: %s\n", output); + free(filebuffer); exit(1); } fwrite ( head,1,sizeof ( ldr_header_t ),fd_out ); fwrite ( filebuffer,1,buf.st_size,fd_out ); printf("Firmware image %s is ready\n", output); + free(filebuffer); + fclose(fd_out); return 0; }