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);