X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f From: Message-Id: <200505030858.j438wvU7006744@speedy.ludd.ltu.se> Subject: Bug 000366 (mbstowcs causes SIGSEGV when passed a NULL pointer) To: DJGPP-WORKERS Date: Tue, 3 May 2005 10:58:57 +0200 (CEST) X-Mailer: ELM [version 2.4ME+ PL78 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-ltu-MailScanner-Information: Please contact the ISP for more information X-ltu-MailScanner: Found to be clean X-MailScanner-From: ams AT ludd DOT ltu DOT se Reply-To: djgpp-workers AT delorie DOT com Patch including test programs for this bug (pasted): Index: djgpp/src/libc/ansi/locale/mbstowcs.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/locale/mbstowcs.c,v retrieving revision 1.3 diff -p -u -r1.3 mbstowcs.c --- djgpp/src/libc/ansi/locale/mbstowcs.c 17 Oct 2002 23:00:24 -0000 1.3 +++ djgpp/src/libc/ansi/locale/mbstowcs.c 3 May 2005 18:51:07 -0000 @@ -1,3 +1,4 @@ +/* Copyright (C) 2005 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2001 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include @@ -5,9 +6,14 @@ size_t mbstowcs(wchar_t *wcs, const char *s, size_t n) { - size_t i; - for (i=0; s[i] && (i+1 @@ -5,9 +6,14 @@ size_t wcstombs(char *s, const wchar_t *wcs, size_t n) { - size_t i; - for (i=0; wcs[i] && (i+1 + +int main(void) +{ + size_t len; + + char s[] = "A"; + + len = mbstowcs(NULL, s, 0); + + return 0; +} Index: djgpp/tests/libc/ansi/stdlib/wcstombs.c =================================================================== RCS file: djgpp/tests/libc/ansi/stdlib/wcstombs.c diff -N djgpp/tests/libc/ansi/stdlib/wcstombs.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ djgpp/tests/libc/ansi/stdlib/wcstombs.c 3 May 2005 18:51:08 -0000 @@ -0,0 +1,12 @@ +#include + +int main(void) +{ + size_t len; + + wchar_t ws[] = L"A"; + + len = wcstombs(NULL, ws, 0); + + return 0; +} Right, MartinS