mirror of https://github.com/acidanthera/audk.git
GetNextMonotonicCount may not be available when GenerateRandomGuid is called. Add a static variable as a seed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5752 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
21a54a4d0b
commit
138f2f82d8
|
@ -184,19 +184,13 @@ GenerateRandomGuid (
|
||||||
OUT EFI_GUID * Guid
|
OUT EFI_GUID * Guid
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_GUID GuidBase = { 0x14f95e01, 0xd562, 0x432e, { 0x84, 0x4a, 0x95, 0xa4, 0x39, 0x5, 0x10, 0x7e }};
|
||||||
static EFI_GUID GuidBase = { 0x14f95e01, 0xd562, 0x432e, { 0x84, 0x4a, 0x95, 0xa4, 0x39, 0x5, 0x10, 0x7e }};
|
static UINT64 Count = 0;
|
||||||
UINT64 MonotonicCount;
|
|
||||||
|
|
||||||
CopyGuid (Guid, &GuidBase);
|
CopyGuid (Guid, &GuidBase);
|
||||||
|
|
||||||
Status = gBS->GetNextMonotonicCount (&MonotonicCount);
|
Count++;
|
||||||
ASSERT_EFI_ERROR (Status);
|
*((UINT64 *) Guid) = *((UINT64 *) Guid) + Count;
|
||||||
|
|
||||||
//
|
|
||||||
// Use Monotonic Count as a psedo random number generator.
|
|
||||||
//
|
|
||||||
*((UINT64 *) Guid) = *((UINT64 *) Guid) + MonotonicCount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
|
Loading…
Reference in New Issue