This is very unsafe because there's nothing tying the lifetime of the `CString` to the `storage`, meaning when you return it down below you're pointing to free'd memory. This should create a `Path` which owns its memory.