Update create directory to clear cluster when directory is created#56
Merged
LTRData merged 1 commit intoLTRData:LTRData.DiscUtils-initialfrom Jan 4, 2026
Conversation
Owner
|
Nice find and thanks a lot for your fix! 👍 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I have been using DiscUtils for many years with great success and I have recently experienced an issue with fat filesystem library where creating a new directory in root directory of a FAT32 formatted partition would contain existing directories and files with garbled filename characters.
After a lot of testing, I discovered the reason for the newly created directory already contained directories and files with garbled filename characters was caused by clusters contained data from a non-valid FAT32 filesystem structure, which are interpreted as directories and files by DiscUtils fat file system library.
I examined FAT32 clusters when Windows 11 creates a new directory and a file within the directory and noticed that Windows had cleared the cluster with zeroes before creating the cluster for the directory content.
I propose a change to
PopulateNewChildDirectorythat clears the cluster with zeroes before creating the self and parent referencing directory entries. I also added a test that was first used to verify the issue with existing data can cause a newly created directory to contain existing directories and files with garbled filenames and afterwards use it to fix the issue and verify it works.