ntdll: Randomize security cookie when available

Alexandre Julliard julliard at winehq.org
Tue Jun 23 03:30:28 CDT 2015


André Hentschel <nerv at dawncrow.de> writes:

> @@ -3620,7 +3620,30 @@ typedef struct _FPO_DATA {
>    WORD  cbFrame  : 2;
>  } FPO_DATA, *PFPO_DATA;
>  
> -typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
> +typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 {
> +  DWORD     Size;
> +  DWORD     TimeDateStamp;
> +  WORD      MajorVersion;
> +  WORD      MinorVersion;
> +  DWORD     GlobalFlagsClear;
> +  DWORD     GlobalFlagsSet;
> +  DWORD     CriticalSectionDefaultTimeout;
> +  ULONGLONG DeCommitFreeBlockThreshold;
> +  ULONGLONG DeCommitTotalFreeThreshold;
> +  ULONGLONG LockPrefixTable;
> +  ULONGLONG MaximumAllocationSize;
> +  ULONGLONG VirtualMemoryThreshold;
> +  ULONGLONG ProcessAffinityMask;
> +  DWORD     ProcessHeapFlags;
> +  WORD      CSDVersion;
> +  WORD      Reserved1;
> +  ULONGLONG EditList;
> +  ULONGLONG SecurityCookie;
> +  ULONGLONG SEHandlerTable;
> +  ULONGLONG SEHandlerCount;
> +} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;
> +
> +typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 {
>    DWORD Size;
>    DWORD TimeDateStamp;
>    WORD  MajorVersion;

You'll need to update the generated tests:

gcc -c -o generated.o ../../../../wine/dlls/ntdll/tests/generated.c -I. \
  -I../../../../wine/dlls/ntdll/tests -I../../../include -I../../../../wine/include -D__WINESRC__ \
  -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body \
  -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla \
  -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O2 -fno-diagnostics-show-caret
../../../../wine/dlls/ntdll/tests/generated.c: In function ‘test_pack_IMAGE_LOAD_CONFIG_DIRECTORY’:
../../../../wine/dlls/ntdll/tests/generated.c:842:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:865:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:866:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:868:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:869:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:870:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:873:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:874:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:875:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:876:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:877:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:878:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:879:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:882:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:883:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:884:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:885:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:888:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:891:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:894:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:895:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:896:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:897:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:898:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:899:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:900:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:901:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:902:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c:903:5: error: size of unnamed array is negative
../../../../wine/dlls/ntdll/tests/generated.c: In function ‘test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY’:
../../../../wine/dlls/ntdll/tests/generated.c:2108:5: error: size of unnamed array is negative
Makefile:348: recipe for target 'generated.o' failed

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list