summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2017-12-29 18:10:36 +0800
committerStar Zeng <star.zeng@intel.com>2018-01-02 09:55:43 +0800
commit3d110afbcab02bab667a2179380626d8b5371903 (patch)
treee4dfdf36d8cefae8059674f4581affa9f16b8bf2 /MdeModulePkg
parentbb207f6cda96640d1df0fd573689ca6764e48db4 (diff)
downloadedk2-3d110afbcab02bab667a2179380626d8b5371903.zip
edk2-3d110afbcab02bab667a2179380626d8b5371903.tar.gz
edk2-3d110afbcab02bab667a2179380626d8b5371903.tar.bz2
MdeModulePkg VarCheckHii: Make sure the bin at required alignment
According to UEFI/PI spec, the AllocateXXXPool() interfaces should return eight-byte aligned buffer that satisfies the required HEADER_ALIGNMENT which is 4. This patch adds ASSERT to make sure the bin at required alignment, that can help catch the issue earlier about incorrect aligned buffer returned from AllocateXXXPool(). Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c b/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c
index c0efed4..0db1383 100644
--- a/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c
+++ b/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c
@@ -1518,6 +1518,10 @@ BuildVarCheckHiiBin (
//
Data = AllocateRuntimeZeroPool (BinSize);
ASSERT (Data != NULL);
+ //
+ // Make sure the allocated buffer for VarCheckHiiBin at required alignment.
+ //
+ ASSERT ((((UINTN) Data) & (HEADER_ALIGNMENT - 1)) == 0);
DEBUG ((DEBUG_INFO, "VarCheckHiiBin - built at 0x%x\n", Data));
//