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
This commit is contained in:
Star Zeng 2015-10-16 01:31:56 +00:00 committed by lzeng14
parent bf9f7cea98
commit 1cce53d384
1 changed files with 10 additions and 2 deletions

View File

@ -141,11 +141,19 @@ VariablePropertyGetWithWildcardName (
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 1]) && VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 1]) &&
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 2]) && VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 2]) &&
VarCheckInternalIsHexaDecimalDigitCharacter (VariableName[NameLength + 3])) { 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) { 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;
}
} }
} }
} }