diff --git a/reactos/include/ddk/ntddk.h b/reactos/include/ddk/ntddk.h index 870566d73ca..961b0ca8066 100644 --- a/reactos/include/ddk/ntddk.h +++ b/reactos/include/ddk/ntddk.h @@ -3350,9 +3350,10 @@ static __inline PVOID ExAllocateFromZone( IN PZONE_HEADER Zone) { + PVOID Result = (PVOID)Zone->FreeList.Next; if (Zone->FreeList.Next) Zone->FreeList.Next = Zone->FreeList.Next->Next; - return (PVOID) Zone->FreeList.Next; + return Result; } static __inline PVOID diff --git a/reactos/include/xdk/exfuncs.h b/reactos/include/xdk/exfuncs.h index df3338f8175..a60908fbe76 100644 --- a/reactos/include/xdk/exfuncs.h +++ b/reactos/include/xdk/exfuncs.h @@ -276,9 +276,10 @@ static __inline PVOID ExAllocateFromZone( IN PZONE_HEADER Zone) { + PVOID Result = (PVOID)Zone->FreeList.Next; if (Zone->FreeList.Next) Zone->FreeList.Next = Zone->FreeList.Next->Next; - return (PVOID) Zone->FreeList.Next; + return Result; } static __inline PVOID