Dear Thad,
how much memory do you allocate for the string returned from _io_mfs_read_dir via pointer? As I looked into the code the current version of MFS does not restrict the size of the buffer despite the parameter is passed to _io_mfs_read_dir.
Current workaround is to allocate buffer of sufficient size so that text returned from _io_mfs_read_dir fits.
Otherwise I do not see other issue in _io_mfs_read_dir at first sight. If you problem persist, could you, please, provide us with more details or prefferably also a compilable code snippet to reproduce reproduce the issue?