SecurityPkg: Use IsZeroGuid API for zero GUID checking

Instead of comparing a GUID with gZeroGuid via the CompareGuid API, the
commit uses the IsZeroGuid API to check if the given GUID is a zero GUID.

Cc: Chao Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
Hao Wu
2016-08-30 09:59:02 +08:00
parent 39cde03cc5
commit 965268ea6d
4 changed files with 7 additions and 11 deletions

View File

@ -15,7 +15,7 @@
Tcg2MeasureGptTable() function will receive untrusted GPT partition table, and parse Tcg2MeasureGptTable() function will receive untrusted GPT partition table, and parse
partition data carefully. partition data carefully.
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR> Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
@ -36,7 +36,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/FirmwareVolumeBlock.h> #include <Protocol/FirmwareVolumeBlock.h>
#include <Guid/MeasuredFvHob.h> #include <Guid/MeasuredFvHob.h>
#include <Guid/ZeroGuid.h>
#include <Library/BaseLib.h> #include <Library/BaseLib.h>
#include <Library/DebugLib.h> #include <Library/DebugLib.h>
@ -202,7 +201,7 @@ Tcg2MeasureGptTable (
PartitionEntry = (EFI_PARTITION_ENTRY *)EntryPtr; PartitionEntry = (EFI_PARTITION_ENTRY *)EntryPtr;
NumberOfPartition = 0; NumberOfPartition = 0;
for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) { for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) {
if (!CompareGuid (&PartitionEntry->PartitionTypeGUID, &gZeroGuid)) { if (!IsZeroGuid (&PartitionEntry->PartitionTypeGUID)) {
NumberOfPartition++; NumberOfPartition++;
} }
PartitionEntry = (EFI_PARTITION_ENTRY *)((UINT8 *)PartitionEntry + PrimaryHeader->SizeOfPartitionEntry); PartitionEntry = (EFI_PARTITION_ENTRY *)((UINT8 *)PartitionEntry + PrimaryHeader->SizeOfPartitionEntry);
@ -238,7 +237,7 @@ Tcg2MeasureGptTable (
PartitionEntry = (EFI_PARTITION_ENTRY*)EntryPtr; PartitionEntry = (EFI_PARTITION_ENTRY*)EntryPtr;
NumberOfPartition = 0; NumberOfPartition = 0;
for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) { for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) {
if (!CompareGuid (&PartitionEntry->PartitionTypeGUID, &gZeroGuid)) { if (!IsZeroGuid (&PartitionEntry->PartitionTypeGUID)) {
CopyMem ( CopyMem (
(UINT8 *)&GptData->Partitions + NumberOfPartition * PrimaryHeader->SizeOfPartitionEntry, (UINT8 *)&GptData->Partitions + NumberOfPartition * PrimaryHeader->SizeOfPartitionEntry,
(UINT8 *)PartitionEntry, (UINT8 *)PartitionEntry,

View File

@ -9,7 +9,7 @@
# This external input must be validated carefully to avoid security issues such # This external input must be validated carefully to avoid security issues such
# as buffer overflow or integer overflow. # as buffer overflow or integer overflow.
# #
# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at # which accompanies this distribution. The full text of the license may be found at
@ -58,7 +58,6 @@
[Guids] [Guids]
gMeasuredFvHobGuid ## SOMETIMES_CONSUMES ## HOB gMeasuredFvHobGuid ## SOMETIMES_CONSUMES ## HOB
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
[Protocols] [Protocols]
gEfiTcg2ProtocolGuid ## SOMETIMES_CONSUMES gEfiTcg2ProtocolGuid ## SOMETIMES_CONSUMES

View File

@ -34,7 +34,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/FirmwareVolumeBlock.h> #include <Protocol/FirmwareVolumeBlock.h>
#include <Guid/MeasuredFvHob.h> #include <Guid/MeasuredFvHob.h>
#include <Guid/ZeroGuid.h>
#include <Library/BaseLib.h> #include <Library/BaseLib.h>
#include <Library/DebugLib.h> #include <Library/DebugLib.h>
@ -202,7 +201,7 @@ TcgMeasureGptTable (
PartitionEntry = (EFI_PARTITION_ENTRY *)EntryPtr; PartitionEntry = (EFI_PARTITION_ENTRY *)EntryPtr;
NumberOfPartition = 0; NumberOfPartition = 0;
for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) { for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) {
if (!CompareGuid (&PartitionEntry->PartitionTypeGUID, &gZeroGuid)) { if (!IsZeroGuid (&PartitionEntry->PartitionTypeGUID)) {
NumberOfPartition++; NumberOfPartition++;
} }
PartitionEntry = (EFI_PARTITION_ENTRY *)((UINT8 *)PartitionEntry + PrimaryHeader->SizeOfPartitionEntry); PartitionEntry = (EFI_PARTITION_ENTRY *)((UINT8 *)PartitionEntry + PrimaryHeader->SizeOfPartitionEntry);
@ -236,7 +235,7 @@ TcgMeasureGptTable (
PartitionEntry = (EFI_PARTITION_ENTRY*)EntryPtr; PartitionEntry = (EFI_PARTITION_ENTRY*)EntryPtr;
NumberOfPartition = 0; NumberOfPartition = 0;
for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) { for (Index = 0; Index < PrimaryHeader->NumberOfPartitionEntries; Index++) {
if (!CompareGuid (&PartitionEntry->PartitionTypeGUID, &gZeroGuid)) { if (!IsZeroGuid (&PartitionEntry->PartitionTypeGUID)) {
CopyMem ( CopyMem (
(UINT8 *)&GptData->Partitions + NumberOfPartition * PrimaryHeader->SizeOfPartitionEntry, (UINT8 *)&GptData->Partitions + NumberOfPartition * PrimaryHeader->SizeOfPartitionEntry,
(UINT8 *)PartitionEntry, (UINT8 *)PartitionEntry,

View File

@ -9,7 +9,7 @@
# This external input must be validated carefully to avoid security issues such # This external input must be validated carefully to avoid security issues such
# as buffer overflow or integer overflow. # as buffer overflow or integer overflow.
# #
# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at # which accompanies this distribution. The full text of the license may be found at
@ -58,7 +58,6 @@
[Guids] [Guids]
gMeasuredFvHobGuid ## SOMETIMES_CONSUMES ## HOB gMeasuredFvHobGuid ## SOMETIMES_CONSUMES ## HOB
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
[Protocols] [Protocols]
gEfiTcgProtocolGuid ## SOMETIMES_CONSUMES gEfiTcgProtocolGuid ## SOMETIMES_CONSUMES