The argument for tmp_lfn_entry is initialized to a global of FATLongDirectoryEntry object. So multiple filesystems objects are going to use the same tmp_lfn_entry when calling _fat12_parse_root_dir, which in some cases cause a failure in add_lfn_entry because tmp_lfn_entry.lfn_entries may be already populated with that ordinance.
I also changed the argument to is_lfn_entry to the correct one. It doesn't fix any bad behavior, because that byte was already checked before.
The argument for tmp_lfn_entry is initialized to a global of FATLongDirectoryEntry object. So multiple filesystems objects are going to use the same tmp_lfn_entry when calling _fat12_parse_root_dir, which in some cases cause a failure in add_lfn_entry because tmp_lfn_entry.lfn_entries may be already populated with that ordinance.
I also changed the argument to is_lfn_entry to the correct one. It doesn't fix any bad behavior, because that byte was already checked before.