From 1d2d985d11bd1c84588afa2d3c2417b28ae9c058 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 7 Aug 2016 14:24:45 +0000 Subject: [PATCH] [FASTFAT] - Update FCB hashes after changing the path name CORE-11377 svn path=/trunk/; revision=72147 --- reactos/drivers/filesystems/fastfat/fcb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/filesystems/fastfat/fcb.c b/reactos/drivers/filesystems/fastfat/fcb.c index 3002e21e6c8..d5ac3fd10ba 100644 --- a/reactos/drivers/filesystems/fastfat/fcb.c +++ b/reactos/drivers/filesystems/fastfat/fcb.c @@ -347,6 +347,7 @@ vfatAddFCBToTable( ULONG Index; ULONG ShortIndex; + ASSERT(pFCB->Hash.Hash == vfatNameHash(0, &pFCB->PathNameU)); Index = pFCB->Hash.Hash % pVCB->HashTableSize; ShortIndex = pFCB->ShortHash.Hash % pVCB->HashTableSize; @@ -376,6 +377,7 @@ vfatInitFCBFromDirEntry( RtlCopyMemory(&Fcb->entry, &DirContext->DirEntry, sizeof (DIR_ENTRY)); RtlCopyUnicodeString(&Fcb->ShortNameU, &DirContext->ShortNameU); + Fcb->Hash.Hash = vfatNameHash(0, &Fcb->PathNameU); if (Vcb->Flags & VCB_IS_FATX) { Fcb->ShortHash.Hash = Fcb->Hash.Hash; @@ -457,7 +459,7 @@ vfatSetFCBNewDirName( Fcb->PathNameBuffer = Fcb->PathNameU.Buffer; Fcb->DirNameU.Buffer = Fcb->PathNameU.Buffer; vfatSplitPathName(&Fcb->PathNameU, &Fcb->DirNameU, &Fcb->LongNameU); - + Fcb->Hash.Hash = vfatNameHash(0, &Fcb->PathNameU); if (pVCB->Flags & VCB_IS_FATX) { Fcb->ShortHash.Hash = Fcb->Hash.Hash; -- 2.17.1