diff --git a/client/fpga_compress.c b/client/fpga_compress.c index 7c5a4a883..770005021 100644 --- a/client/fpga_compress.c +++ b/client/fpga_compress.c @@ -413,18 +413,22 @@ int main(int argc, char **argv) { infiles = calloc(1, sizeof(FILE *)); if (argc != 4) { usage(); + free(infiles); return (EXIT_FAILURE); } infiles[0] = fopen(argv[2], "rb"); if (infiles[0] == NULL) { fprintf(stderr, "Error. Cannot open input file %s\n\n", argv[2]); + free(infiles); return (EXIT_FAILURE); } outfile = fopen(argv[3], "wb"); if (outfile == NULL) { fprintf(stderr, "Error. Cannot open output file %s\n\n", argv[3]); + free(infiles); return (EXIT_FAILURE); } + return zlib_decompress(infiles[0], outfile); } else { // Compress or gemerate version info @@ -453,6 +457,7 @@ int main(int argc, char **argv) { infiles[i] = fopen(infile_names[i], "rb"); if (infiles[i] == NULL) { fprintf(stderr, "Error. Cannot open input file %s\n\n", infile_names[i]); + free(infile_names); return (EXIT_FAILURE); } }