size_t is unsigned, so comparison against -1 effectively causes undefined behavior
@@ -147,7 +147,7 @@ const char *file_read(const char *path, size_t *len) {
buffer[fsize] = 0;
fsize2 = read(fd, buffer, (size_t)fsize);
- if (fsize2 == -1) goto abort_read;
+ if (fsize2 != fsize) goto abort_read;
if (len) *len = fsize2;
close(fd);