From f58746bd33f28bc7625e4fd6b166b6f977253c7d Mon Sep 17 00:00:00 2001
From: Nico Huber <nico.huber@secunet.com>
Date: Wed, 19 Aug 2015 17:22:26 +0200
Subject: 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)
---
 payloads/libpayload/libc/memory.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'payloads/libpayload/libc')

diff --git a/payloads/libpayload/libc/memory.c b/payloads/libpayload/libc/memory.c
index 07a4d08a59..ae476cf196 100644
--- a/payloads/libpayload/libc/memory.c
+++ b/payloads/libpayload/libc/memory.c
@@ -78,7 +78,8 @@ void *memcpy(void *dst, const void *src, size_t n)
 
 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);
-- 
cgit v1.2.3