Set the value/data cell to dirty, if an existing value is overwritten.
Modified: trunk/reactos/ntoskrnl/cm/ntfunc.c
_____
Modified: trunk/reactos/ntoskrnl/cm/ntfunc.c
--- trunk/reactos/ntoskrnl/cm/ntfunc.c 2005-11-17 17:29:36 UTC (rev
19294)
+++ trunk/reactos/ntoskrnl/cm/ntfunc.c 2005-11-17 17:34:22 UTC (rev
19295)
@@ -1993,7 +1993,6 @@
RtlCopyMemory(&ValueCell->DataOffset, Data, DataSize);
ValueCell->DataSize = DataSize | REG_DATA_IN_OFFSET;
ValueCell->DataType = Type;
- RtlMoveMemory(&ValueCell->DataOffset, Data, DataSize);
CmiMarkBlockDirty(RegistryHive, ValueCellOffset);
}
else if (!(ValueCell->DataSize & REG_DATA_IN_OFFSET) &&
@@ -2005,6 +2004,8 @@
RtlCopyMemory(DataCell->Data, Data, DataSize);
ValueCell->DataSize = DataSize;
ValueCell->DataType = Type;
+ CmiMarkBlockDirty(RegistryHive, ValueCell->DataOffset);
+ CmiMarkBlockDirty(RegistryHive, ValueCellOffset);
}
else
{
Show replies by date