diff --git a/src/kservice.c b/src/kservice.c index e9972dba97a4ceba70339e0ef6382dc525d0bd98..7ed05b6651d977f24cb11f8503f09d8ae4260215 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -922,7 +922,7 @@ rt_int32_t rt_vsnprintf(char *buf, s = va_arg(args, char *); if (!s) s = "(NULL)"; - len = rt_strlen(s); + for (len = 0; (len != field_width) && (s[len] != '\0'); len++); #ifdef RT_PRINTF_PRECISION if (precision > 0 && len > precision) len = precision; #endif