This change is triggered by R18654 "Enhance variable performance by reading from existed memory cache" that changed the code to use CacheVariable to improve performance. So the CacheVariable->InDeletedTransitionPtr NULL pointer check needs to be moved to the place before it is been used.
Cc: Shumin Qiu <shumin....@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.z...@intel.com> --- MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c index e5ffb5a..621ce16 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -2280,6 +2280,7 @@ UpdateVariable ( // Both ADDED and IN_DELETED_TRANSITION variable are present, // set IN_DELETED_TRANSITION one to DELETED state first. // + ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); State = CacheVariable->InDeletedTransitionPtr->State; State &= VAR_DELETED; Status = UpdateVariableStore ( @@ -2293,7 +2294,6 @@ UpdateVariable ( ); if (!EFI_ERROR (Status)) { if (!Variable->Volatile) { - ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); CacheVariable->InDeletedTransitionPtr->State = State; } } else { @@ -2719,6 +2719,7 @@ UpdateVariable ( // Both ADDED and IN_DELETED_TRANSITION old variable are present, // set IN_DELETED_TRANSITION one to DELETED state first. // + ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); State = CacheVariable->InDeletedTransitionPtr->State; State &= VAR_DELETED; Status = UpdateVariableStore ( @@ -2732,7 +2733,6 @@ UpdateVariable ( ); if (!EFI_ERROR (Status)) { if (!Variable->Volatile) { - ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); CacheVariable->InDeletedTransitionPtr->State = State; } } else { -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel