diff --git a/src/utils/os_internal.c b/src/utils/os_internal.c index 7b74bbf4a..5260e2321 100644 --- a/src/utils/os_internal.c +++ b/src/utils/os_internal.c @@ -206,7 +206,12 @@ char * os_readfile(const char *name, size_t *len) return NULL; } - fread(buf, 1, *len, f); + if (fread(buf, 1, *len, f) != *len) { + fclose(f); + os_free(buf); + return NULL; + } + fclose(f); return buf;