Module: wine Branch: master Commit: 4e4c150bede97661345c67d3ae15eb81f80feefd URL: http://source.winehq.org/git/wine.git/?a=commit;h=4e4c150bede97661345c67d3ae...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Jul 30 23:37:39 2007 +0200
ntdll: Avoid activation context leak for dlls with no imports.
---
dlls/ntdll/loader.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index 09516f6..a37394d 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -625,8 +625,6 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR load_path )
if (!(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS)) return STATUS_SUCCESS; /* already done */ wm->ldr.Flags &= ~LDR_DONT_RESOLVE_REFS; - if (!create_module_activation_context( &wm->ldr )) - RtlActivateActivationContext( 0, wm->ldr.ActivationContext, &cookie );
if (!(imports = RtlImageDirectoryEntryToData( wm->ldr.BaseAddress, TRUE, IMAGE_DIRECTORY_ENTRY_IMPORT, &size ))) @@ -637,6 +635,9 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR load_path )
if (!nb_imports) return STATUS_SUCCESS; /* no imports */
+ if (!create_module_activation_context( &wm->ldr )) + RtlActivateActivationContext( 0, wm->ldr.ActivationContext, &cookie ); + /* Allocate module dependency list */ wm->nDeps = nb_imports; wm->deps = RtlAllocateHeap( GetProcessHeap(), 0, nb_imports*sizeof(WINE_MODREF *) );