From 61f0f4375b35dd9b3ab6f1e1803385b57a22c7fb Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Mon, 10 May 2010 00:57:06 +0000 Subject: [PATCH] Use the ASSERT() for parameter checking as the 4th paramter of internal worker function of MakeTable() must be <= 16. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10472 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c | 8 +++++++- .../BaseUefiDecompressLibInternals.h | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c index 30f85bce71..f6b1fe005d 100644 --- a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c +++ b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c @@ -1,7 +1,7 @@ /** @file UEFI Decompress Library implementation refer to UEFI specification. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -117,6 +117,7 @@ GetBits ( Creates Huffman Code mapping table for Extra Set, Char&Len Set and Position Set according to code length array. + If TableBits > 16, then ASSERT (). @param Sd The global scratch data @param NumOfChar Number of symbols in the symbol set @@ -152,6 +153,11 @@ MakeTable ( UINT16 WordOfStart; UINT16 WordOfCount; + // + // The maximum mapping table width supported by this internal + // working function is 16. + // + ASSERT (TableBits <= 16); for (Index = 0; Index <= 16; Index++) { Count[Index] = 0; diff --git a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h index a0e44dc076..856c1f7b01 100644 --- a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h +++ b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h @@ -1,7 +1,7 @@ /** @file Internal data structure defintions for Base UEFI Decompress Libary. - Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -107,6 +107,7 @@ GetBits ( Creates Huffman Code mapping table for Extra Set, Char&Len Set and Position Set according to code length array. + If TableBits > 16, then ASSERT (). @param Sd The global scratch data @param NumOfChar Number of symbols in the symbol set -- 2.39.2