diff options
author | Tim J. Robbins <tjr@FreeBSD.org> | 2002-11-10 10:50:42 +0000 |
---|---|---|
committer | Tim J. Robbins <tjr@FreeBSD.org> | 2002-11-10 10:50:42 +0000 |
commit | 99eabcc8c3987f566213b2809687b2be3e75ce3a (patch) | |
tree | 7b749724f0b64f41c5363c27e256eca1e7ed40ff /tools | |
parent | 2f5154a2c16c563f440b74e2f6a9c4bd9cf41b41 (diff) | |
download | src-99eabcc8c3987f566213b2809687b2be3e75ce3a.tar.gz src-99eabcc8c3987f566213b2809687b2be3e75ce3a.zip |
Test for the zero-length buffer bug corrected in mbrtowc.c revision 1.3.
Notes
Notes:
svn path=/head/; revision=106726
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/lib/libc/locale/test-mbrtowc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/regression/lib/libc/locale/test-mbrtowc.c b/tools/regression/lib/libc/locale/test-mbrtowc.c index d781f16d4428..630ae2e7ee87 100644 --- a/tools/regression/lib/libc/locale/test-mbrtowc.c +++ b/tools/regression/lib/libc/locale/test-mbrtowc.c @@ -86,6 +86,13 @@ main(int argc, char *argv[]) assert(mbrtowc(&wc, buf, 0, &s) == (size_t)-2); assert(wc == L'z'); + /* Check that mbrtowc() doesn't access the buffer when n == 0. */ + wc = L'z'; + memset(&s, 0, sizeof(s)); + buf[0] = '\0'; + assert(mbrtowc(&wc, buf, 0, &s) == (size_t)-2); + assert(wc == L'z'); + /* * Japanese (EUC) locale. */ |