efi_loader: fix freestanding memmove()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 22 Mar 2020 08:52:48 +0000 (09:52 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 22 Mar 2020 10:06:23 +0000 (11:06 +0100)
For EFI binaries we have to provide an implementation of memmove() in
efi_freestanding.c.

Before this patch the memmove() function was copying in the wrong
direction.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_freestanding.c

index dcf5d1c49a2d4433d27762c58eecb279db01c6bb..bd0dff162f6b8f129f381273f8d2500509e33640 100644 (file)
@@ -47,7 +47,7 @@ void *memmove(void *dest, const void *src, size_t n)
        u8 *d = dest;
        const u8 *s = src;
 
-       if (d >= s) {
+       if (d <= s) {
                for (; n; --n)
                        *d++ = *s++;
        } else {