How does allocation in C work?
Like, take this function for example:
```c
inline char read_char(File* file) {
    char* buf;
    storage_file_read(file, buf, 1);
    return buf[0];
}
```
Would this work? As the buffer array is only inside the function but we return an element from it.