diff options
Diffstat (limited to 'MdePkg/Library')
-rw-r--r-- | MdePkg/Library/BaseLib/CheckSum.c | 4 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/String.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/MdePkg/Library/BaseLib/CheckSum.c b/MdePkg/Library/BaseLib/CheckSum.c index 957a2224f9..e851164998 100644 --- a/MdePkg/Library/BaseLib/CheckSum.c +++ b/MdePkg/Library/BaseLib/CheckSum.c @@ -47,7 +47,7 @@ CalculateSum8 ( ASSERT (Length <= (MAX_ADDRESS - ((UINTN) Buffer) + 1));
for (Sum = 0, Count = 0; Count < Length; Count++) {
- Sum = Sum + *(Buffer + Count);
+ Sum = (UINT8) (Sum + *(Buffer + Count));
}
return Sum;
@@ -126,7 +126,7 @@ CalculateSum16 ( for (Sum = 0, Count = 0; Count < Length; Count++) {
- Sum = Sum + *(Buffer + Count);
+ Sum = (UINT16) (Sum + *(Buffer + Count));
}
return Sum;
diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c index 402d676631..fefadc4337 100644 --- a/MdePkg/Library/BaseLib/String.c +++ b/MdePkg/Library/BaseLib/String.c @@ -528,7 +528,7 @@ InternalCharToUpper ( ) { if (Char >= L'a' && Char <= L'z') { - return Char - (L'a' - L'A'); + return (CHAR16) (Char - (L'a' - L'A')); } return Char; @@ -919,7 +919,8 @@ StrHexToUint64 ( (InternalHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16)) ); - Result = LShiftU64 (Result, 4) + InternalHexCharToUintn (*String); + Result = LShiftU64 (Result, 4); + Result = Result + InternalHexCharToUintn (*String); String++; } @@ -1930,7 +1931,8 @@ AsciiStrHexToUint64 ( (InternalAsciiHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16)) ); - Result = LShiftU64 (Result, 4) + InternalAsciiHexCharToUintn (*String); + Result = LShiftU64 (Result, 4); + Result = Result + InternalAsciiHexCharToUintn (*String); String++; } |