IN UINTN TokenNumber\r
)\r
{\r
+ UINTN TmpTokenNumber;\r
UINT32 *LocalTokenNumberTable;\r
UINT32 LocalTokenNumber;\r
UINTN Size;\r
//\r
TokenNumber--;\r
\r
+ //\r
+ // Backup the TokenNumber passed in as GetPtrTypeSize need the original TokenNumber\r
+ // \r
+ TmpTokenNumber = TokenNumber;\r
+\r
LocalTokenNumberTable = IsPeiDb ? (UINT32 *)((UINT8 *)mPcdDatabase.PeiDb + mPcdDatabase.PeiDb->LocalTokenNumberTableOffset) : \r
(UINT32 *)((UINT8 *)mPcdDatabase.DxeDb + mPcdDatabase.DxeDb->LocalTokenNumberTableOffset);\r
TokenNumber = IsPeiDb ? TokenNumber : TokenNumber - mPeiLocalTokenCount;\r
\r
if ((LocalTokenNumber & PCD_TYPE_SKU_ENABLED) == PCD_TYPE_SKU_ENABLED) {\r
if (Size == 0) {\r
- GetPtrTypeSize (TokenNumber, &MaxSize);\r
+ GetPtrTypeSize (TmpTokenNumber, &MaxSize);\r
} else {\r
MaxSize = Size;\r
}\r