diff options
-rw-r--r-- | SecurityPkg/RandomNumberGenerator/RngDxe/ArmRngDxe.c | 1 | ||||
-rw-r--r-- | SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/SecurityPkg/RandomNumberGenerator/RngDxe/ArmRngDxe.c b/SecurityPkg/RandomNumberGenerator/RngDxe/ArmRngDxe.c index 5ba319899c..ce49ff7ae6 100644 --- a/SecurityPkg/RandomNumberGenerator/RngDxe/ArmRngDxe.c +++ b/SecurityPkg/RandomNumberGenerator/RngDxe/ArmRngDxe.c @@ -40,6 +40,7 @@ FreeAvailableAlgorithms ( VOID
)
{
+ mAvailableAlgoArrayCount = 0;
FreePool (mAvailableAlgoArray);
return;
}
diff --git a/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c b/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c index 677600bed7..7e06e16e4b 100644 --- a/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c +++ b/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c @@ -26,6 +26,11 @@ #include "RngDxeInternals.h"
+//
+// Count of Rng algorithms.
+//
+#define RNG_ALGORITHM_COUNT 2
+
/** Allocate and initialize mAvailableAlgoArray with the available
Rng algorithms. Also update mAvailableAlgoArrayCount.
@@ -38,6 +43,7 @@ GetAvailableAlgorithms ( VOID
)
{
+ mAvailableAlgoArrayCount = RNG_ALGORITHM_COUNT;
return EFI_SUCCESS;
}
@@ -49,6 +55,7 @@ FreeAvailableAlgorithms ( VOID
)
{
+ mAvailableAlgoArrayCount = 0;
return;
}
@@ -164,7 +171,7 @@ RngGetInfo ( return EFI_INVALID_PARAMETER;
}
- RequiredSize = 2 * sizeof (EFI_RNG_ALGORITHM);
+ RequiredSize = RNG_ALGORITHM_COUNT * sizeof (EFI_RNG_ALGORITHM);
if (*RNGAlgorithmListSize < RequiredSize) {
*RNGAlgorithmListSize = RequiredSize;
|