If malloc block fails (due to no storage). It will set the inode's indirect pointer to 0, but still returns the original block no, meaning it reported the operation as successful when it actually failed. This also storage leaks blocks allocated in the process.
Fix it after I merge the dev/indirect-blocks branch. I have other fixes/checks in place that makes this easier to fix. Namely, the tracking of how many free blocks left.
If malloc block fails (due to no storage). It will set the inode's indirect pointer to 0, but still returns the original block no, meaning it reported the operation as successful when it actually failed. This also storage leaks blocks allocated in the process.