SecurityPkg/Library/SecureBootVariableLib: Fix VS20xx 4122 errors

The unit test code for the SecureBootVariableLib is initializing
local variable structures in their declaration from other local
variables that are also initialized in their declaration.  ANSI C
does not allow this and error 4122 is generated on VS20xx compilers.

The test cases are updated to initialize the local structure
fields in C statements instead of their local variable declaration.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com>
This commit is contained in:
Michael D Kinney 2023-03-23 19:29:03 -07:00 committed by mergify[bot]
parent c28c16e7c4
commit 0657e74116
1 changed files with 83 additions and 87 deletions

View File

@ -351,10 +351,10 @@ SecureBootCreateDataFromInputSimple (
UINTN SigListSize = 0;
EFI_STATUS Status;
UINT8 TestData[] = { 0 };
SECURE_BOOT_CERTIFICATE_INFO KeyInfo = {
.Data = TestData,
.DataSize = sizeof (TestData)
};
SECURE_BOOT_CERTIFICATE_INFO KeyInfo;
KeyInfo.Data = TestData;
KeyInfo.DataSize = sizeof (TestData);
Status = SecureBootCreateDataFromInput (&SigListSize, &SigList, 1, &KeyInfo);
@ -441,16 +441,12 @@ SecureBootCreateDataFromInputMultiple (
UINT8 TestData1[] = { 0 };
UINT8 TestData2[] = { 1, 2 };
EFI_STATUS Status;
SECURE_BOOT_CERTIFICATE_INFO KeyInfo[2] = {
{
.Data = TestData1,
.DataSize = sizeof (TestData1)
},
{
.Data = TestData2,
.DataSize = sizeof (TestData2)
}
};
SECURE_BOOT_CERTIFICATE_INFO KeyInfo[2];
KeyInfo[0].Data = TestData1;
KeyInfo[0].DataSize = sizeof (TestData1);
KeyInfo[1].Data = TestData2;
KeyInfo[1].DataSize = sizeof (TestData2);
Status = SecureBootCreateDataFromInput (&SigListSize, &SigList, 2, KeyInfo);
UT_ASSERT_NOT_EFI_ERROR (Status);
@ -1219,19 +1215,19 @@ SetSecureBootVariablesShouldComplete (
UINT8 PkDummy = 0xFE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.DbtPtr = &DbtDummy,
.DbtSize = sizeof (DbtDummy),
.KekPtr = &KekDummy,
.KekSize = sizeof (KekDummy),
.PkPtr = &PkDummy,
.PkSize = sizeof (PkDummy),
.SecureBootKeyName = L"Food"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.DbtPtr = &DbtDummy;
PayloadInfo.DbtSize = sizeof (DbtDummy);
PayloadInfo.KekPtr = &KekDummy;
PayloadInfo.KekSize = sizeof (KekDummy);
PayloadInfo.PkPtr = &PkDummy;
PayloadInfo.PkSize = sizeof (PkDummy);
PayloadInfo.SecureBootKeyName = L"Food";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1385,11 +1381,11 @@ SetSecureBootVariablesShouldStopFailDBX (
UINT8 DbxDummy = 0xBE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbxDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.SecureBootKeyName = L"Fail DBX"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.SecureBootKeyName = L"Fail DBX";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1442,13 +1438,13 @@ SetSecureBootVariablesShouldStopFailDB (
UINT8 DbxDummy = 0xBE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.SecureBootKeyName = L"Fail DB"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.SecureBootKeyName = L"Fail DB";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1516,15 +1512,15 @@ SetSecureBootVariablesShouldStopFailDBT (
UINT8 DbxDummy = 0xBE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.DbtPtr = &DbtDummy,
.DbtSize = sizeof (DbtDummy),
.SecureBootKeyName = L"Fail DBT"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.DbtPtr = &DbtDummy;
PayloadInfo.DbtSize = sizeof (DbtDummy);
PayloadInfo.SecureBootKeyName = L"Fail DBT";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1608,19 +1604,19 @@ SetSecureBootVariablesShouldStopFailKEK (
UINT8 PkDummy = 0xFE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.DbtPtr = &DbtDummy,
.DbtSize = sizeof (DbtDummy),
.KekPtr = &KekDummy,
.KekSize = sizeof (KekDummy),
.PkPtr = &PkDummy,
.PkSize = sizeof (PkDummy),
.SecureBootKeyName = L"Food"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.DbtPtr = &DbtDummy;
PayloadInfo.DbtSize = sizeof (DbtDummy);
PayloadInfo.KekPtr = &KekDummy;
PayloadInfo.KekSize = sizeof (KekDummy);
PayloadInfo.PkPtr = &PkDummy;
PayloadInfo.PkSize = sizeof (PkDummy);
PayloadInfo.SecureBootKeyName = L"Food";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1718,19 +1714,19 @@ SetSecureBootVariablesShouldStopFailPK (
UINT8 PkDummy = 0xFE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.DbtPtr = &DbtDummy,
.DbtSize = sizeof (DbtDummy),
.KekPtr = &KekDummy,
.KekSize = sizeof (KekDummy),
.PkPtr = &PkDummy,
.PkSize = sizeof (PkDummy),
.SecureBootKeyName = L"Food"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.DbtPtr = &DbtDummy;
PayloadInfo.DbtSize = sizeof (DbtDummy);
PayloadInfo.KekPtr = &KekDummy;
PayloadInfo.KekSize = sizeof (KekDummy);
PayloadInfo.PkPtr = &PkDummy;
PayloadInfo.PkSize = sizeof (PkDummy);
PayloadInfo.SecureBootKeyName = L"Food";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);
@ -1841,19 +1837,19 @@ SetSecureBootVariablesDBTOptional (
UINT8 PkDummy = 0xFE;
UINT8 *Payload = NULL;
UINTN PayloadSize = sizeof (DbDummy);
SECURE_BOOT_PAYLOAD_INFO PayloadInfo = {
.DbPtr = &DbDummy,
.DbSize = sizeof (DbDummy),
.DbxPtr = &DbxDummy,
.DbxSize = sizeof (DbxDummy),
.DbtPtr = NULL,
.DbtSize = 0,
.KekPtr = &KekDummy,
.KekSize = sizeof (KekDummy),
.PkPtr = &PkDummy,
.PkSize = sizeof (PkDummy),
.SecureBootKeyName = L"Food"
};
SECURE_BOOT_PAYLOAD_INFO PayloadInfo;
PayloadInfo.DbPtr = &DbDummy;
PayloadInfo.DbSize = sizeof (DbDummy);
PayloadInfo.DbxPtr = &DbxDummy;
PayloadInfo.DbxSize = sizeof (DbxDummy);
PayloadInfo.DbtPtr = NULL;
PayloadInfo.DbtSize = 0;
PayloadInfo.KekPtr = &KekDummy;
PayloadInfo.KekSize = sizeof (KekDummy);
PayloadInfo.PkPtr = &PkDummy;
PayloadInfo.PkSize = sizeof (PkDummy);
PayloadInfo.SecureBootKeyName = L"Food";
expect_memory (MockGetVariable, VariableName, EFI_SECURE_BOOT_MODE_NAME, sizeof (EFI_SECURE_BOOT_MODE_NAME));
expect_value (MockGetVariable, VendorGuid, &gEfiGlobalVariableGuid);