From fbd73ebf4c43e53cb062c96adf0b25b8f2c74641 Mon Sep 17 00:00:00 2001 From: klemek Date: Sat, 16 May 2026 15:34:09 +0200 Subject: [PATCH] fix: handle partial reads --- src/file.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/file.c b/src/file.c index 02c478c..c68c5fc 100644 --- a/src/file.c +++ b/src/file.c @@ -26,6 +26,7 @@ bool file_should_update(const File *file) { bool file_update(File *file) { long length; + size_t read_length; FILE *file_pointer; // free remaining data @@ -63,7 +64,13 @@ bool file_update(File *file) { return false; } // read file - fread(file->content, sizeof(char), length, file_pointer); + read_length = fread(file->content, sizeof(char), length, file_pointer); + if (read_length != length) { + file->error = true; + fclose(file_pointer); + log_error("Cannot read complete file '%s'", file->path); + return false; + } // close file fclose(file_pointer); // append null byte