Skip to content

Conversation

@henrikstengaard
Copy link

@henrikstengaard henrikstengaard commented Jan 3, 2026

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 PopulateNewChildDirectory that 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.

@LTRData LTRData merged commit 3ff87ff into LTRData:LTRData.DiscUtils-initial Jan 4, 2026
1 check passed
@LTRData
Copy link
Owner

LTRData commented Jan 4, 2026

Nice find and thanks a lot for your fix! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants