Date: Wed, 17 Apr 96 20:18:49 +0900 From: Mihoko Tanaka <m_tanaka@pa.yokogawa.co.jp> To: hackers@freebsd.org Subject: problem of wcstombs. Message-ID: <9604171118.AA00657@cabbage.pa.yokogawa.co.jp>
index | next in thread | raw e-mail
Hi all,
I have a trouble about 'wcstombs(3)'. I'm using FreeBSD-2.1R.
size_t
wcstombs(char *mbstring, const wchar_t *wcstring, size_t nbytes)
It seems that the 'wcstombs(3)' ignores the third argument 'nbyte'.
In fact, when the size of 'mbstring' is smaller than that of
'wcstring', it occurs the segmentation fault or write over the buffer.
It defines in /usr/src/sys/lib/libc/locale/ansi.c .
This file is the same between 2.1.0R and -current.
It may be find the similar problem in -current.
I suggest the following :
--------<patch for /usr/src/sys/lib/libc/locale/ansi.c>------------------
--- ansi.c Fri May 27 13:56:46 1994
+++ ansi.c.new Wed Apr 17 20:06:04 1996
@@ -142,6 +142,7 @@
if (!e) /* too long */
return (cnt);
cnt += e - s;
+ n -= e - s;
s = e;
}
return (cnt);
--------<End:/usr/src/sys/lib/libc/locale/ansi.c>----------------------
Is it correct ?
--
Mihoko Tanaka
<m_tanaka@pa.yokogawa.co.jp>
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9604171118.AA00657>
