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; }