From 99332b68dc6f33a3e03a70a33193d83f42e0a93d Mon Sep 17 00:00:00 2001 From: Maurice Ma Date: Tue, 25 Aug 2020 09:08:09 -0700 Subject: [PATCH] Fix new Klocwork scanning issues This patch fixed some new reported klocwork scanning issues. Signed-off-by: Maurice Ma --- .../Library/ContainerLib/ContainerLib.c | 2 +- BootloaderCommonPkg/Library/Ext23Lib/Ext2Fs.c | 10 ++++++++++ .../Library/MmcAccessLib/MmcAccessLib.c | 14 +++++++++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/BootloaderCommonPkg/Library/ContainerLib/ContainerLib.c b/BootloaderCommonPkg/Library/ContainerLib/ContainerLib.c index 5528ca02..04e3c285 100644 --- a/BootloaderCommonPkg/Library/ContainerLib/ContainerLib.c +++ b/BootloaderCommonPkg/Library/ContainerLib/ContainerLib.c @@ -885,7 +885,7 @@ LoadComponentWithCallback ( } } else { if (CompressHdr->Size == 0) { - Status = EFI_SUCCESS; + Status = EFI_BAD_BUFFER_SIZE; } else { Status = EFI_OUT_OF_RESOURCES; } diff --git a/BootloaderCommonPkg/Library/Ext23Lib/Ext2Fs.c b/BootloaderCommonPkg/Library/Ext23Lib/Ext2Fs.c index bd4534db..75a5277d 100644 --- a/BootloaderCommonPkg/Library/Ext23Lib/Ext2Fs.c +++ b/BootloaderCommonPkg/Library/Ext23Lib/Ext2Fs.c @@ -748,12 +748,22 @@ Ext2fsOpen ( // allocate struct file system specific data structure // Fp = AllocatePool (sizeof (FILE)); + if (Fp == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto out; + } + SetMem32 (Fp, sizeof (FILE), 0 ); File->FileSystemSpecificData = (VOID *)Fp; // // allocate space and read super block // FileSystem = AllocatePool (sizeof (*FileSystem)); + if (FileSystem == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto out; + } + SetMem32 (FileSystem, sizeof (*FileSystem), 0); Fp->SuperBlockPtr = FileSystem; diff --git a/BootloaderCommonPkg/Library/MmcAccessLib/MmcAccessLib.c b/BootloaderCommonPkg/Library/MmcAccessLib/MmcAccessLib.c index bfb98401..9a0d674c 100644 --- a/BootloaderCommonPkg/Library/MmcAccessLib/MmcAccessLib.c +++ b/BootloaderCommonPkg/Library/MmcAccessLib/MmcAccessLib.c @@ -32,13 +32,17 @@ MmcGetHcPrivateData ( Status = GetLibraryData (PcdGet8 (PcdEmmcBlockDeviceLibId), (VOID **)&PrivateData); if (Status == EFI_NOT_FOUND) { PrivateData = AllocatePool (sizeof (SD_MMC_HC_PRIVATE_DATA)); - ZeroMem (PrivateData, sizeof (SD_MMC_HC_PRIVATE_DATA)); - if (GetLoaderStage () == LOADER_STAGE_PAYLOAD) { - PrivateData->PrivateDataMemType = PayloadMemory; + if (PrivateData != NULL) { + ZeroMem (PrivateData, sizeof (SD_MMC_HC_PRIVATE_DATA)); + if (GetLoaderStage () == LOADER_STAGE_PAYLOAD) { + PrivateData->PrivateDataMemType = PayloadMemory; + } else { + PrivateData->PrivateDataMemType = ReservedMemory; + } + Status = SetLibraryData (PcdGet8 (PcdEmmcBlockDeviceLibId), PrivateData, sizeof (SD_MMC_HC_PRIVATE_DATA)); } else { - PrivateData->PrivateDataMemType = ReservedMemory; + Status = EFI_OUT_OF_RESOURCES; } - Status = SetLibraryData (PcdGet8 (PcdEmmcBlockDeviceLibId), PrivateData, sizeof (SD_MMC_HC_PRIVATE_DATA)); } if (EFI_ERROR (Status)) {