diff --git a/Implementierung/src/io.c b/Implementierung/src/io.c index 857a996..e0720a9 100644 --- a/Implementierung/src/io.c +++ b/Implementierung/src/io.c @@ -35,12 +35,13 @@ uint8_t* read_file(const char* path, size_t* size) { struct sysinfo info; int r = sysinfo(&info); - if (r != 0 || info.freeram < (unsigned long)statOfFile.st_size * 2) { + if (r != 0 || info.freeram < (unsigned long)(statOfFile.st_blksize * + statOfFile.st_blocks * 2)) { errno = ENOMEM; return NULL; } - uint8_t* data = malloc(statOfFile.st_size); + uint8_t* data = malloc(statOfFile.st_blksize * statOfFile.st_blocks); if (data == NULL) { fclose(f); return NULL;