Module: wine Branch: master Commit: 86893ce299223d6dbb2a58cd06d2b8ca8dec26c8 URL: https://gitlab.winehq.org/wine/wine/-/commit/86893ce299223d6dbb2a58cd06d2b8c...
Author: Jinoh Kang jinoh.kang.kr@gmail.com Date: Thu Jul 13 23:17:11 2023 +0900
ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
Many built-in callers of ActivateActCtx() just assume that it will always succeed. If it ever fails, then DeactivateActCtx() will notice that the cookie is invalid and raise an exception anyway.
---
dlls/ntdll/actctx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 73f852f2547..853ac34d12e 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -5423,9 +5423,7 @@ NTSTATUS WINAPI RtlActivateActivationContextEx( ULONG flags, TEB *teb, HANDLE ha ACTIVATION_CONTEXT_STACK *actctx_stack = teb->ActivationContextStackPointer; RTL_ACTIVATION_CONTEXT_STACK_FRAME *frame;
- if (!(frame = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*frame) ))) - return STATUS_NO_MEMORY; - + frame = RtlAllocateHeap( GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS, sizeof(*frame) ); frame->Previous = actctx_stack->ActiveFrame; frame->ActivationContext = handle; frame->Flags = 0;