projects
/
mirror_edk2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1. Adjust might be 64bit, so we need to typecast it to UINT32 firstly.
[mirror_edk2.git]
/
EdkModulePkg
/
Library
/
EdkPeCoffLoaderX64Lib
/
EdkPeCoffLoaderX64.c
diff --git
a/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64.c
b/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64.c
index a2862576fa10e2784af1ffa555d729d1c0cefd41..6adc4bf29eefb89dca870cffc243709148f4d691 100644
(file)
--- a/
EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64.c
+++ b/
EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64.c
@@
-536,7
+536,7
@@
Returns:
break;
\r
case EFI_IMAGE_REL_BASED_HIGH:
\r
F16 = (UINT16 *) Fixup;
\r
break;
\r
case EFI_IMAGE_REL_BASED_HIGH:
\r
F16 = (UINT16 *) Fixup;
\r
- *F16 = (UINT16)
((*F16 << 16) + (UINT16) Adjust
);
\r
+ *F16 = (UINT16)
(*F16 + ((UINT16) ((UINT32) Adjust >> 16))
);
\r
if (FixupData != NULL) {
\r
*(UINT16 *) FixupData = *F16;
\r
FixupData = FixupData + sizeof(UINT16);
\r
if (FixupData != NULL) {
\r
*(UINT16 *) FixupData = *F16;
\r
FixupData = FixupData + sizeof(UINT16);
\r