diff options
author | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-08-11 05:24:12 +0000 |
---|---|---|
committer | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-08-11 05:24:12 +0000 |
commit | 1d5b25b7159f87612181c00b8be9ae6404d37168 (patch) | |
tree | d70972f6ed75dc8931249d54ec736896fbc3d329 | |
parent | 6844f1882f0f4211f12dd055d8cab485db421471 (diff) | |
download | edk2-platforms-1d5b25b7159f87612181c00b8be9ae6404d37168.tar.xz |
add condition judgment to avoid accessing NULL address if not found existing variable.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9038 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c index dddc143751..228d7d8cff 100644 --- a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c +++ b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c @@ -618,7 +618,7 @@ UpdateVariable ( UINTN VarDataOffset;
UINTN VarSize;
VARIABLE_GLOBAL *Global;
- UINTN NonVolatileVarableStoreSize;
+ UINTN NonVolatileVarableStoreSize;
Global = &mVariableModuleGlobal->VariableGlobal[Physical];
@@ -767,7 +767,9 @@ UpdateVariable ( //
// Mark the old variable as deleted
//
- Variable->CurrPtr->State &= VAR_DELETED;
+ if (Variable->CurrPtr != NULL) {
+ Variable->CurrPtr->State &= VAR_DELETED;
+ }
UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, TRUE, FALSE, FALSE);
|