(mbstowcs): Divide __bos (__dst) by sizeof (wchar_t) rather than
authordrepper <drepper>
Mon, 22 Aug 2005 15:06:07 +0000 (15:06 +0000)
committerdrepper <drepper>
Mon, 22 Aug 2005 15:06:07 +0000 (15:06 +0000)
multiplying __len by sizeof (wchar_t).
Pass __bos (__dst) / sizeof (wchar_t) to the *_chk routine.

stdlib/bits/stdlib.h

index 9e2519d..4bacb09 100644 (file)
@@ -89,8 +89,9 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src,
 {
   if (__bos (__dst) != (size_t) -1
       && (!__builtin_constant_p (__len)
-         || __len * sizeof (wchar_t) > __bos (__dst)))
-    return __mbstowcs_chk (__dst, __src, __len, __bos (__dst));
+         || __len > __bos (__dst) / sizeof (wchar_t)))
+    return __mbstowcs_chk (__dst, __src, __len,
+                          __bos (__dst) / sizeof (wchar_t));
   return __mbstowcs_alias (__dst, __src, __len);
 }