diff --git a/src/tiff/tiffread.c b/src/tiff/tiffread.c index 952fbe3..6667146 100644 --- a/src/tiff/tiffread.c +++ b/src/tiff/tiffread.c @@ -91,8 +91,10 @@ Image *read_baseline_tiff(const char *file, Arena *arena) { goto READ_BASELINE_RETURN_IMG; } - FILE *fp = fopen(file, "rb"); - if (!fp) { + TiffReader reader = {0}; + + reader.fp = fopen(file, "rb"); + if (!reader.fp) { goto READ_BASELINE_RETURN_IMG; } @@ -101,8 +103,6 @@ Image *read_baseline_tiff(const char *file, Arena *arena) { goto READ_BASELINE_FILE_CLEANUP; } - TiffReader reader = {.fp = fp}; - reader.header = read_tiff_header(&reader); if (IS_NULL_HEADER(reader.header)) { goto READ_BASELINE_DESTROY_ARENA; @@ -133,7 +133,7 @@ READ_BASELINE_DESTROY_ARENA: wapp_mem_arena_destroy(&temp_arena); READ_BASELINE_FILE_CLEANUP: - fclose(fp); + fclose(reader.fp); READ_BASELINE_RETURN_IMG: return img_out;