diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-09-15 12:06:52 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-09-15 12:06:52 -0400 |
commit | 6bc53fabf9186a4ec6433154719ff9c3116c269f (patch) | |
tree | 8f99cf6c7036bf828f0da2cb648d1f0b4667b04c | |
parent | 8b055201c01d3ac5816b687792ce2f179d1bf9ef (diff) |
Close files after read
-rw-r--r-- | tools/xor_compress.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/xor_compress.c b/tools/xor_compress.c index 03ea451..49f23ea 100644 --- a/tools/xor_compress.c +++ b/tools/xor_compress.c @@ -46,6 +46,7 @@ unsigned char *read_files(char *filenames[], int num_files, size_t *buf_size, in unsigned char *buf_end = buffer + (*buf_size - f_size); size_t read_size = fread(buf_end, 1, f_size, f); + fclose(f); if (read_size != f_size) { // fread does not set errno fprintf(stderr, PROGRAM_NAME ": %s: Read error\n", filename); @@ -79,7 +80,7 @@ int compress_files(char *filenames[], int num_files) { if (data[i] == v) { // Alternating (>= 0x80) // Run stops at 0x80 bytes or when the values stop alternating - for (; i < n && size < 0x80 && data[i] == (size % 2 ? byte : v); size++, i++); + for (; i < n && size < 0x80 && data[i] == ((size % 2) ? byte : v); size++, i++); putchar(size + 0x7f); putchar(v ^ byte); if (size % 2 == 0) v = byte; |