Verify fread(), fwrite(), and system() return values
[libeap.git] / src / utils / os_unix.c
index 94e16a9..a428195 100644 (file)
@@ -220,7 +220,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);
+               free(buf);
+               return NULL;
+       }
+
        fclose(f);
 
        return buf;