[PATCH 1/4] ntdll: Implement RtlEncode/DecodePointer

Alexandre Julliard julliard at winehq.org
Thu Jan 18 05:04:38 CST 2007


Mike McCormack <mike at codeweavers.com> writes:

> diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
> index 999687a..468e5b6 100644
> --- a/dlls/ntdll/loader.c
> +++ b/dlls/ntdll/loader.c
> @@ -2161,6 +2161,7 @@ void WINAPI LdrInitializeThunk( ULONG unknown1, ULONG unknown2, ULONG unknown3,
>  
>      RtlEnterCriticalSection( &loader_section );
>  
> +    rtl_generate_pointer_obfuscator();
>      load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
>      if ((status = fixup_imports( wm, load_path )) != STATUS_SUCCESS) goto error;
>      if ((status = alloc_process_tls()) != STATUS_SUCCESS) goto error;

It would be cleaner to initialize this the first time it's needed,
instead of having to export a global function and do more work at init
time for a rarely used feature.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list