From 294062fabf885c78d46e3c6e51963d5791b815b2 Mon Sep 17 00:00:00 2001 From: Ambroise Vincent Date: Fri, 7 Jun 2019 11:19:45 +0100 Subject: [PATCH] libc: fix memchr implementation The previous implementation could behave incorrectly because of the sign extension of the char when compared to the int. Change-Id: I397838b0ec87a6f1af6972d022a8c19a5184b447 Signed-off-by: Ambroise Vincent --- lib/libc/memchr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/memchr.c b/lib/libc/memchr.c index 0fe05358b..8cbb71579 100644 --- a/lib/libc/memchr.c +++ b/lib/libc/memchr.c @@ -9,10 +9,10 @@ void *memchr(const void *src, int c, size_t len) { - const char *s = src; + const unsigned char *s = src; while (len--) { - if (*s == c) + if (*s == (unsigned char)c) return (void *) s; s++; }