diff options
author | tjr <tjr@FreeBSD.org> | 2002-11-10 10:50:42 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2002-11-10 10:50:42 +0000 |
commit | ca621988d2572c95badb1c0477e8f2a97bd7958d (patch) | |
tree | 7b749724f0b64f41c5363c27e256eca1e7ed40ff /tools | |
parent | 68886a9d65d5d21bdfe3d23f50770ce071fc5d86 (diff) | |
download | FreeBSD-src-ca621988d2572c95badb1c0477e8f2a97bd7958d.zip FreeBSD-src-ca621988d2572c95badb1c0477e8f2a97bd7958d.tar.gz |
Test for the zero-length buffer bug corrected in mbrtowc.c revision 1.3.
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 d781f16..630ae2e 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. */ |