libpayload: Fix default_memmove() implementation
If I wanted to fill the whole memory address space with one byte, I
wouldn't try it that subtle.
With size_t beeing unsigned the loop condition >= 0 was always true.
Change-Id: Idee6a4901f6697093c88bda354b5e43066c0d948
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/11286
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
diff --git a/payloads/libpayload/libc/memory.c b/payloads/libpayload/libc/memory.c
index 07a4d08..ae476cf 100644
--- a/payloads/libpayload/libc/memory.c
+++ b/payloads/libpayload/libc/memory.c
@@ -78,7 +78,8 @@
static void *default_memmove(void *dst, const void *src, size_t n)
{
- size_t i, offs;
+ size_t offs;
+ ssize_t i;
if (src > dst)
return memcpy(dst, src, n);