From: Thomas Faber Date: Sun, 7 Aug 2016 14:24:45 +0000 (+0000) Subject: [FASTFAT] X-Git-Tag: backups/sndblst@72664~461 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=1d2d985d11bd1c84588afa2d3c2417b28ae9c058 [FASTFAT] - Update FCB hashes after changing the path name CORE-11377 svn path=/trunk/; revision=72147 --- 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;