diff --git a/reactos/drivers/crypto/ksecdd/random.c b/reactos/drivers/crypto/ksecdd/random.c index 392ad0f70ca..1d1168a8776 100644 --- a/reactos/drivers/crypto/ksecdd/random.c +++ b/reactos/drivers/crypto/ksecdd/random.c @@ -31,11 +31,13 @@ KsecGenRandom( PVOID Buffer, SIZE_T Length) { + LARGE_INTEGER TickCount; ULONG i, RandomValue; PULONG P; /* Try to generate a more random seed */ - KsecRandomSeed ^= _rotl(KeTickCount.LowPart, (KsecRandomSeed % 23)); + KeQueryTickCount(&TickCount); + KsecRandomSeed ^= _rotl(TickCount.LowPart, (KsecRandomSeed % 23)); P = Buffer; for (i = 0; i < Length / sizeof(ULONG); i++) @@ -94,7 +96,7 @@ KsecGatherEntropyData( PTEB Teb; PPEB Peb; PWSTR String; - ULONG ReturnLength; + SIZE_T ReturnLength; NTSTATUS Status; /* Query some generic values */ @@ -125,7 +127,7 @@ KsecGatherEntropyData( /* Update the MD4 context from the environment data */ MD4Update(&Md4Context, (PUCHAR)Peb->ProcessParameters->Environment, - (PUCHAR)String - (PUCHAR)Peb->ProcessParameters->Environment); + (ULONG)((PUCHAR)String - (PUCHAR)Peb->ProcessParameters->Environment)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) {