diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2024-06-03 10:00:40 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-06-04 19:06:24 +0000 |
commit | de4cc40b8c1d9044df82e077e72ef6e192ea12e2 (patch) | |
tree | 62d827d73814329b075b4d920df771be327d826c | |
parent | 839bd179735284592ba8f0879d2cbf07e0cb585a (diff) | |
download | edk2-de4cc40b8c1d9044df82e077e72ef6e192ea12e2.zip edk2-de4cc40b8c1d9044df82e077e72ef6e192ea12e2.tar.gz edk2-de4cc40b8c1d9044df82e077e72ef6e192ea12e2.tar.bz2 |
MdeModulePkg/HiiDatabaseDxe: Avoid struct assignment
Struct assignments are not permitted in EDK2, as they may be converted
by the compiler into calls to the 'memcpy' intrinsic, which is not
guaranteed to be available in EDK2.
So replace the assignment with a call to CopyMem (), and -while at it-
replace the loop with a single CopyMem () call, as the loop operates on
items that are contiguous in memory.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r-- | MdeModulePkg/Universal/HiiDatabaseDxe/Image.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/Image.c b/MdeModulePkg/Universal/HiiDatabaseDxe/Image.c index b5b9625..ab8f056 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/Image.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/Image.c @@ -1288,7 +1288,6 @@ HiiDrawImage ( UINTN BufferLen;
UINT16 Width;
UINT16 Height;
- UINTN Xpos;
UINTN Ypos;
UINTN OffsetY1;
UINTN OffsetY2;
@@ -1390,9 +1389,11 @@ HiiDrawImage ( for (Ypos = 0; Ypos < Height; Ypos++) {
OffsetY1 = Image->Width * Ypos;
OffsetY2 = Width * Ypos;
- for (Xpos = 0; Xpos < Width; Xpos++) {
- BltBuffer[OffsetY2 + Xpos] = Image->Bitmap[OffsetY1 + Xpos];
- }
+ CopyMem (
+ &BltBuffer[OffsetY2],
+ &Image->Bitmap[OffsetY1],
+ Width * sizeof (*BltBuffer)
+ );
}
}
|