From 3d110afbcab02bab667a2179380626d8b5371903 Mon Sep 17 00:00:00 2001 From: Star Zeng Date: Fri, 29 Dec 2017 18:10:36 +0800 Subject: 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 Cc: Jiewen Yao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Jian J Wang --- MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'MdeModulePkg') 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)); // -- cgit v1.1