What about just using `errno` for signalling out-of-memory and other errors? `errno` can also be used for retrieving the error source for `lstat()` failure. That, and make the error message ("additional information") itself optional?