Fix signedness problem in memcmp. Signed-off-by: Ulf Jordan Index: libpayload/include/libpayload.h =================================================================== --- libpayload/include/libpayload.h (revision 3478) +++ libpayload/include/libpayload.h (arbetskopia) @@ -179,7 +179,7 @@ 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, ...); Index: libpayload/libc/memory.c =================================================================== --- libpayload/libc/memory.c (revision 3478) +++ libpayload/libc/memory.c (arbetskopia) @@ -107,8 +107,8 @@ * @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; }