more correct fix by Alex

svn path=/trunk/; revision=34467
This commit is contained in:
Christoph von Wittich
2008-07-13 19:14:39 +00:00
parent 538c89cbf6
commit 79811cb5a6
+6 -18
View File
@@ -209,18 +209,12 @@ ExpFreeHandleTable(IN PHANDLE_TABLE HandleTable)
{
PEPROCESS Process = HandleTable->QuotaProcess;
ULONG i, j;
ULONG TableLevel;
ULONG_PTR TableBase;
ULONG_PTR TableCode = HandleTable->TableCode;
ULONG TableLevel = TableCode & 3;
ULONG_PTR TableBase = TableCode & ~3;
PHANDLE_TABLE_ENTRY Level1, *Level2, **Level3;
PAGED_CODE();
/* Get the table code */
TableBase = *(volatile ULONG_PTR*)&HandleTable->TableCode;
/* Extract the table level and actual table base */
TableLevel = (ULONG)(TableBase & 3);
TableBase = TableBase - TableLevel;
/* Check which level we're at */
if (!TableLevel)
{
@@ -504,17 +498,11 @@ ExpAllocateHandleTableEntrySlow(IN PHANDLE_TABLE HandleTable,
PHANDLE_TABLE_ENTRY Low = NULL, *Mid, **High, *SecondLevel, **ThirdLevel;
ULONG NewFree, FirstFree;
PVOID Value;
ULONG_PTR TableBase;
ULONG TableLevel;
ULONG_PTR TableCode = HandleTable->TableCode;
ULONG_PTR TableBase = TableCode & ~3;
ULONG TableLevel = (ULONG)(TableCode & 3);
PAGED_CODE();
/* Get the table code */
TableBase = *(volatile ULONG_PTR*)&HandleTable->TableCode;
/* Extract the table level and actual table base */
TableLevel = (ULONG)(TableBase & 3);
TableBase = TableBase - TableLevel;
/* Check how many levels we already have */
if (!TableLevel)
{