Resolve Klocwork issues in Payload & Platform

Klocwork scanning reported several issues in the
PayloadPkg and Platform code folders, this commit
aims to resolve all of the issues currently being
reported in these folders.

Signed-off-by: James Gutbub <james.gutbub@intel.com>
This commit is contained in:
James Gutbub 2019-08-27 09:45:47 -07:00 committed by James Gutbub
parent cc46751e0c
commit 327fbac532
5 changed files with 24 additions and 17 deletions

View File

@ -243,6 +243,7 @@ LoadCapsuleImage (
CHAR16 FileName[MAX_FILE_LEN]; CHAR16 FileName[MAX_FILE_LEN];
EFI_HANDLE FileHandle; EFI_HANDLE FileHandle;
FileHandle = NULL;
HwPartHandle = NULL; HwPartHandle = NULL;
Status = FindBootPartition (CapsuleInfo, &HwPartHandle); Status = FindBootPartition (CapsuleInfo, &HwPartHandle);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
@ -273,9 +274,8 @@ LoadCapsuleImage (
} }
// //
// get capsule image size. // Get capsule image size.
// //
FileHandle = NULL;
*CapsuleImageSize = 0; *CapsuleImageSize = 0;
*CapsuleImage = NULL; *CapsuleImage = NULL;

View File

@ -232,7 +232,9 @@ SecStartup (
// ACPI table // ACPI table
SystemTableInfo = GetSystemTableInfo (); SystemTableInfo = GetSystemTableInfo ();
if (SystemTableInfo != NULL) {
ParseAcpiTableInfo ((UINT32)SystemTableInfo->AcpiTableBase); ParseAcpiTableInfo ((UINT32)SystemTableInfo->AcpiTableBase);
}
DEBUG_CODE_BEGIN (); DEBUG_CODE_BEGIN ();
// Initialize HOB/Stack region with known pattern so that the usage can be detected // Initialize HOB/Stack region with known pattern so that the usage can be detected

View File

@ -112,6 +112,7 @@ SeedSanityCheck (
ClearSeedHOB = FALSE; ClearSeedHOB = FALSE;
UseedCount = 0; UseedCount = 0;
DseedCount = 0; DseedCount = 0;
SeedListLen = 0;
OsBootOptionList = GetBootOptionList (); OsBootOptionList = GetBootOptionList ();
if ((OsBootOptionList == NULL) || (OsBootOptionList->OsBootOptionCount == 0)) { if ((OsBootOptionList == NULL) || (OsBootOptionList->OsBootOptionCount == 0)) {
@ -119,7 +120,7 @@ SeedSanityCheck (
} }
SeedListInfo = GetSeedListInfoHOB (&SeedListLen); SeedListInfo = GetSeedListInfoHOB (&SeedListLen);
if ((SeedListInfo == NULL) || (SeedListLen < 0)) { if ((SeedListInfo == NULL) || (SeedListLen == 0)) {
return EFI_NOT_FOUND; return EFI_NOT_FOUND;
} }

View File

@ -313,7 +313,7 @@ LoadLinuxFile (
return EFI_NOT_FOUND; return EFI_NOT_FOUND;
} }
if (FileInfo->Buf[0] == 0) { if ((FileInfo->Buf[0] == 0) && (ConfigFile != NULL)) {
Ptr = ConfigFile + FileInfo->Pos; Ptr = ConfigFile + FileInfo->Pos;
} else { } else {
Ptr = FileInfo->Buf + FileInfo->Pos; Ptr = FileInfo->Buf + FileInfo->Pos;
@ -390,10 +390,13 @@ GetTraditionalLinux (
EFI_HANDLE FileHandle; EFI_HANDLE FileHandle;
BOOLEAN DefBootOption; BOOLEAN DefBootOption;
DEBUG ((DEBUG_INFO, "Try booting Linux from config file ...\n")); ConfigFile = NULL;
ConfigFileSize = 0;
DefBootOption = FALSE; DefBootOption = FALSE;
Status = RETURN_NOT_FOUND; Status = RETURN_NOT_FOUND;
DEBUG ((DEBUG_INFO, "Try booting Linux from config file ...\n"));
for (Index = 0; Index < (UINTN)(FeaturePcdGet (PcdGrubBootCfgEnabled) ? 2 : 1); Index++) { for (Index = 0; Index < (UINTN)(FeaturePcdGet (PcdGrubBootCfgEnabled) ? 2 : 1); Index++) {
DEBUG ((DEBUG_INFO, "Checking %s\n",mConfigFileName[Index])); DEBUG ((DEBUG_INFO, "Checking %s\n",mConfigFileName[Index]));
ConfigFile = NULL; ConfigFile = NULL;
@ -477,7 +480,7 @@ GetTraditionalLinux (
// Update command line // Update command line
LinuxImage->CmdFile.Size = LinuxBootCfg.MenuEntry[EntryIdx].Command.Len; LinuxImage->CmdFile.Size = LinuxBootCfg.MenuEntry[EntryIdx].Command.Len;
if (LinuxImage->CmdFile.Size > 0) { if ((LinuxImage->CmdFile.Size > 0) && (ConfigFile != NULL)) {
Ptr = (CHAR8 *)ConfigFile + LinuxBootCfg.MenuEntry[EntryIdx].Command.Pos; Ptr = (CHAR8 *)ConfigFile + LinuxBootCfg.MenuEntry[EntryIdx].Command.Pos;
Ptr[LinuxImage->CmdFile.Size] = 0; Ptr[LinuxImage->CmdFile.Size] = 0;
LinuxImage->CmdFile.Addr = Ptr; LinuxImage->CmdFile.Addr = Ptr;

View File

@ -150,6 +150,7 @@ SpiLoadExternalConfigData (
Address = 0; Address = 0;
BlobSize = sizeof(CDATA_BLOB); BlobSize = sizeof(CDATA_BLOB);
Buffer = (UINT8 *)Dst; Buffer = (UINT8 *)Dst;
Base = 0;
CfgDataLoadSrc = PcdGet32 (PcdCfgDataLoadSource); CfgDataLoadSrc = PcdGet32 (PcdCfgDataLoadSource);
@ -197,10 +198,10 @@ SpiLoadExternalConfigData (
if (CfgDataLoadSrc == FlashRegionPlatformData) { if (CfgDataLoadSrc == FlashRegionPlatformData) {
Status = SpiFlashRead (FlashRegionPlatformData, Address + BlobSize, SignedLen - BlobSize, Buffer + BlobSize); Status = SpiFlashRead (FlashRegionPlatformData, Address + BlobSize, SignedLen - BlobSize, Buffer + BlobSize);
} else { } else {
if (Base > 0) {
CopyMem (Buffer + BlobSize, (VOID *)(Base + BlobSize), SignedLen - BlobSize); CopyMem (Buffer + BlobSize, (VOID *)(Base + BlobSize), SignedLen - BlobSize);
} }
}
return Status; return Status;
} }