diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | wcsmbs/wcsrtombs.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index d216889ed2..513ae2c658 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +1999-07-26 Ulrich Drepper <drepper@cygnus.com> + + * wcsmbs/wcsrtombs.c (__wcsrtombs): When computing maximum number + of wide characters to convert do it right and don't overestimate + by multiplying with MB_CUR_MAX. + Reported by Bruno Haible <haible@ilog.fr>. + 1999-07-26 Jakub Jelinek <jj@ultra.linux.jz> * string/bits/string2.h (__strcpy_small): Avoid compile time warning. diff --git a/wcsmbs/wcsrtombs.c b/wcsmbs/wcsrtombs.c index 5ab84814a0..a8105d5b85 100644 --- a/wcsmbs/wcsrtombs.c +++ b/wcsmbs/wcsrtombs.c @@ -94,7 +94,7 @@ __wcsrtombs (dst, src, len, ps) /* This code is based on the safe assumption that all internal multi-byte encodings use the NUL byte only to mark the end of the string. */ - const wchar_t *srcend = *src + __wcsnlen (*src, len * MB_CUR_MAX) + 1; + const wchar_t *srcend = *src + __wcsnlen (*src, len) + 1; size_t dummy; data.__outbuf = dst; |