- Don't try to copy an uninitialized bitmap's contents (it worked only because it was zeroed, and thus zero-size RtlCopy and ExFreePool(NULL)).

svn path=/trunk/; revision=29387
This commit is contained in:
Aleksey Bragin 2007-10-03 20:58:44 +00:00
parent 79ce62a7c3
commit 5cf9e02b1e

View file

@ -80,10 +80,14 @@ HvpAddBin(
BitmapBuffer = RegistryHive->Allocate(BitmapSize, TRUE);
RtlZeroMemory(BitmapBuffer, BitmapSize);
if (RegistryHive->DirtyVector.SizeOfBitMap > 0)
{
ASSERT(RegistryHive->DirtyVector.Buffer);
RtlCopyMemory(BitmapBuffer,
RegistryHive->DirtyVector.Buffer,
RegistryHive->DirtyVector.SizeOfBitMap / 8);
RegistryHive->Free(RegistryHive->DirtyVector.Buffer);
}
RtlInitializeBitMap(&RegistryHive->DirtyVector, BitmapBuffer,
BitmapSize * 8);
}