StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu

Bugzilla: 3150 (https://bugzilla.tianocore.org/show_bug.cgi?id=3150)

Fix the ECC tool reported error "[3002] Non-Boolean comparisons
should use a compare operator".

Also fix the following:
 - add curly braces for 'if' condition statements to comply
   with the coding standard.
 - The value returned by GET_GUID_HOB_DATA() is stored in
   *HobData. Therefore, check *HobData against NULL. The
   original code was checking HobData which is incorrect.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Sami Mujawar 2020-12-03 18:33:58 +00:00 committed by mergify[bot]
parent 9ef62f5078
commit a9da96ac2a
2 changed files with 20 additions and 10 deletions

View File

@ -1,7 +1,7 @@
/** @file
Copyright (c) 2016 HP Development Company, L.P.
Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@ -84,12 +84,18 @@ PiMmStandaloneArmTfCpuDriverEntry (
}
// Perform parameter validation of NsCommBufferAddr
if (NsCommBufferAddr && (NsCommBufferAddr < mNsCommBuffer.PhysicalStart))
if (NsCommBufferAddr == (UINTN)NULL) {
return EFI_INVALID_PARAMETER;
}
if (NsCommBufferAddr < mNsCommBuffer.PhysicalStart) {
return EFI_ACCESS_DENIED;
}
if ((NsCommBufferAddr + sizeof (EFI_MM_COMMUNICATE_HEADER)) >=
(mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize))
(mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize)) {
return EFI_INVALID_PARAMETER;
}
// Find out the size of the buffer passed
NsCommBufferSize = ((EFI_MM_COMMUNICATE_HEADER *) NsCommBufferAddr)->MessageLength +
@ -97,9 +103,9 @@ PiMmStandaloneArmTfCpuDriverEntry (
// perform bounds check.
if (NsCommBufferAddr + NsCommBufferSize >=
mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize)
mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize) {
return EFI_ACCESS_DENIED;
}
// Now that the secure world can see the normal world buffer, allocate
// memory to copy the communication buffer to the secure world.
@ -192,8 +198,9 @@ PiMmCpuTpFwRootMmiHandler (
ASSERT (CommBufferSize == NULL);
CpuNumber = mMmst->CurrentlyExecutingCpu;
if (!PerCpuGuidedEventContext[CpuNumber])
if (PerCpuGuidedEventContext[CpuNumber] == NULL) {
return EFI_NOT_FOUND;
}
DEBUG ((DEBUG_INFO, "CommBuffer - 0x%x, CommBufferSize - 0x%x\n",
PerCpuGuidedEventContext[CpuNumber],

View File

@ -2,7 +2,7 @@
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
Copyright (c) 2016 HP Development Company, L.P.
Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@ -53,16 +53,19 @@ GetGuidedHobData (
{
EFI_HOB_GUID_TYPE *Hob;
if (!HobList || !HobGuid || !HobData)
if ((HobList == NULL) || (HobGuid == NULL) || (HobData == NULL)) {
return EFI_INVALID_PARAMETER;
}
Hob = GetNextGuidHob (HobGuid, HobList);
if (!Hob)
if (Hob == NULL) {
return EFI_NOT_FOUND;
}
*HobData = GET_GUID_HOB_DATA (Hob);
if (!HobData)
if (*HobData == NULL) {
return EFI_NOT_FOUND;
}
return EFI_SUCCESS;
}