summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-20 09:12:12 +0000
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-20 09:12:12 +0000
commit2ad29d0fe4433548311df28d2b0f21be1d07168b (patch)
tree76f5a96f47027efa924b76e8368f3a2f8d10d746
parentfe21112135851f3f65f1b54038ca880743b22058 (diff)
downloadedk2-2ad29d0fe4433548311df28d2b0f21be1d07168b.tar.gz
fix a bug that FindVariable() may set GoneThrough flag wrongly when a >64K variable exists.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10524 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Universal/Variable/Pei/Variable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Variable/Pei/Variable.c b/MdeModulePkg/Universal/Variable/Pei/Variable.c
index 5424aa501..c353e6ba3 100644
--- a/MdeModulePkg/Universal/Variable/Pei/Variable.c
+++ b/MdeModulePkg/Universal/Variable/Pei/Variable.c
@@ -492,7 +492,7 @@ FindVariable (
//
// If gone through the VariableStore, that means we never find in Firmware any more.
//
- if (IndexTable->Length < VARIABLE_INDEX_TABLE_VOLUME) {
+ if ((IndexTable->Length < VARIABLE_INDEX_TABLE_VOLUME) && (!StopRecord)) {
IndexTable->GoneThrough = 1;
}