Skip to content

Commit d436f2e

Browse files
committed
[EXT2FS] Fix an uninitialized variable usage RTC failure
Cherry-picking commit bobranten/Ext4Fsd@3158b91 See bobranten/Ext4Fsd#83 for more information, and debug traces. ## How to reproduce: - Format a partition in Ext2 with Paragon Hard Disk Manager 2010 Professional. - Compile ReactOS with MSVC, ensuring that the driver is compiled with `EXT2_HTREE_INDEX` defined and set to 1, and with Run-time error checks enabled with the `/RTC1` flag (this is the default in our source tree). - Install ReactOS on this partition. ## What's being observed: After reboot, some filesystem paths are accessed, and the code inside the `#ifdef EXT2_HTREE_INDEX` block is taken (in ext2/src/dirctl.c#L777-L794). For some reasons, the retrieved `rc` doesn't get the "expected" value and the `goto errorout;` path is taken. After this label, `FileIndex` was reset to `ByteOffset`, which remained uninitialized. A bugcheck ensues because of the failed check (usage of uninitialized variable).
1 parent 530a48c commit d436f2e

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

drivers/filesystems/ext2/src/dirctl.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,6 @@ Ext2QueryDirectory (IN PEXT2_IRP_CONTEXT IrpContext)
968968
errorout:
969969

970970
((PULONG)((PUCHAR)Buffer + fc.efc_prev))[0] = 0;
971-
FileIndex = ByteOffset;
972971

973972
if (Status == STATUS_BUFFER_OVERFLOW) {
974973
/* just return fc.efc_start/EntrySize bytes that we filled */

0 commit comments

Comments
 (0)