diff --git a/libs/libc/wchar/lib_wcsrtombs.c b/libs/libc/wchar/lib_wcsrtombs.c index 70e6768a099..28c51ad6dcd 100644 --- a/libs/libc/wchar/lib_wcsrtombs.c +++ b/libs/libc/wchar/lib_wcsrtombs.c @@ -40,5 +40,14 @@ size_t wcsrtombs(FAR char *dst, FAR const wchar_t **src, size_t len, FAR mbstate_t *ps) { - return wcsnrtombs(dst, src, SIZE_MAX, len, ps); + size_t ret; + + ret = wcsnrtombs(dst, src, SIZE_MAX, len, ps); + + if (dst != NULL && ret != (size_t)-1 && ret != len) + { + dst[ret] = '\0'; + } + + return ret; }