summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Library/VarCheckLib
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2015-10-16 01:31:56 +0000
committerlzeng14 <lzeng14@Edk2>2015-10-16 01:31:56 +0000
commit1cce53d38431bbcf9d6eb29a578668ad49b4d9eb (patch)
tree5fd3963630bebc53ddb178314acc515a120a84cd /MdeModulePkg/Library/VarCheckLib
parentbf9f7cea98616e7b780946e61068bd345e454915 (diff)
downloadedk2-1cce53d38431bbcf9d6eb29a578668ad49b4d9eb.tar.gz
edk2-1cce53d38431bbcf9d6eb29a578668ad49b4d9eb.tar.bz2
edk2-1cce53d38431bbcf9d6eb29a578668ad49b4d9eb.zip
MdeModulepkg VarCheckLib: Return NULL when no property set
to variable with wildcard name. VarCheckLib has zeroed property for variable with wildcard name and is waiting for property set. The code should return NULL when no property set to variable with wildcard name, but not return the zeroed property that will impact the functionality of SetVariableCheck. The issue does not appear with VarCheckUefiLib linked as the library just has the expected property set. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18611 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Library/VarCheckLib')
-rw-r--r--MdeModulePkg/Library/VarCheckLib/VarCheckLib.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/MdeModulePkg/Library/VarCheckLib/VarCheckLib.c b/MdeModulePkg/Library/VarCheckLib/VarCheckLib.c
index cf001547a5..3d1f8f6f46 100644
--- a/MdeModulePkg/Library/VarCheckLib/VarCheckLib.c
+++ b/MdeModulePkg/Library/VarCheckLib/VarCheckLib.c
@@ -141,11 +141,19 @@ VariablePropertyGetWithWildcardName (
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 1]) &&
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 2]) &&
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 3])) {
- return &mVarCheckVariableWithWildcardName[Index].VariableProperty;
+ if (mVarCheckVariableWithWildcardName[Index].VariableProperty.Revision != VAR_CHECK_VARIABLE_PROPERTY_REVISION) {
+ return NULL;
+ } else {
+ return &mVarCheckVariableWithWildcardName[Index].VariableProperty;
+ }
}
}
if (StrCmp (mVarCheckVariableWithWildcardName[Index].Name, VariableName) == 0) {
- return &mVarCheckVariableWithWildcardName[Index].VariableProperty;
+ if (mVarCheckVariableWithWildcardName[Index].VariableProperty.Revision != VAR_CHECK_VARIABLE_PROPERTY_REVISION) {
+ return NULL;
+ } else {
+ return &mVarCheckVariableWithWildcardName[Index].VariableProperty;
+ }
}
}
}