summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Jordan <jordan@chalmers.se>2008-08-09 19:34:56 +0000
committerPeter Stuge <peter@stuge.se>2008-08-09 19:34:56 +0000
commit68285699da68490681b330f0d345079b231c11cf (patch)
tree4d23db264b15fc319c14ed06795f45556d778f7b
parentf1e127472bee89453a2962e7cf383bcb112449b9 (diff)
downloadcoreboot-68285699da68490681b330f0d345079b231c11cf.tar.xz
Fix signedness problem in memcmp.
Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3491 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--payloads/libpayload/include/libpayload.h2
-rw-r--r--payloads/libpayload/libc/memory.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 188039e0f4..ff69eaad2f 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -178,7 +178,7 @@ u8 hex2bin(u8 h);
void *memset(void *s, int c, size_t n);
void *memcpy(void *dst, const void *src, size_t n);
void *memmove(void *dst, const void *src, size_t n);
-int memcmp(const char *s1, const char *s2, size_t len);
+int memcmp(const void *s1, const void *s2, size_t len);
/* libc/printf.c */
int snprintf(char *str, size_t size, const char *fmt, ...);
diff --git a/payloads/libpayload/libc/memory.c b/payloads/libpayload/libc/memory.c
index 57c31e0bb3..eb9fecc94c 100644
--- a/payloads/libpayload/libc/memory.c
+++ b/payloads/libpayload/libc/memory.c
@@ -107,8 +107,8 @@ void *memmove(void *dst, const void *src, size_t n)
* @return If len is 0, return zero. If the areas match, return zero.
* Otherwise return non-zero.
*/
-int memcmp(const char *s1, const char *s2, size_t len)
+int memcmp(const void *s1, const void *s2, size_t len)
{
- for (; len && *s1++ == *s2++; len--) ;
+ for (; len && *(char *)s1++ == *(char *)s2++; len--) ;
return len;
}