diff --git a/libs/libc/machine/arch_libc.c b/libs/libc/machine/arch_libc.c index 3a6ad8fc588..2b1a3276fd0 100644 --- a/libs/libc/machine/arch_libc.c +++ b/libs/libc/machine/arch_libc.c @@ -268,12 +268,14 @@ int strncmp(FAR const char *s1, FAR const char *s2, size_t n) #ifdef CONFIG_LIBC_ARCH_STRNLEN size_t strnlen(FAR const char *s, size_t maxlen) { + size_t ret = arch_strnlen(s, maxlen); # ifdef CONFIG_MM_KASAN # ifndef CONFIG_MM_KASAN_DISABLE_READS_CHECK - __asan_loadN((FAR void *)s, maxlen + 1); + __asan_loadN((FAR void *)s, ret); # endif # endif - return arch_strnlen(s, maxlen); + + return ret; } #endif