> On 2016-08-24 19:20, Corinna Vinschen wrote: > > Thanks for the report and especially for providing a testcase! > Hello Corinna,
Please find hereafter another testcase (from file-5.28). Of course, if the uselocale() function is not used, everything is ok. The problem seems to occur because of the braces. I use 2.6.0-0.12 under CYGWIN_NT-6.1-WOW, with your fix to __localeconv_l (https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=a703d64ad7edac344e4959e8d624ce1d8012678b) Regards, Denis Excoffier. % cat gugu.c #include <stdio.h> #include <locale.h> #include <regex.h> int main() { // locale_t locale = newlocale (LC_ALL_MASK, "C", (locale_t) 0); if (!locale) return 1; locale_t old = uselocale (locale); if (!old) return 1; // char const *pattern[] = { "a", "a{2}" }; regex_t regex; for ( int i = 0 ; i < 2 ; ++i ) { printf ("pattern=%s ...\n", pattern[i]); regcomp (®ex, pattern[i], REG_EXTENDED); printf ("re_nsub=%d\n", regex.re_nsub); regfree (®ex); }; return 0; }; % ./gugu pattern=a ... re_nsub=0 pattern=a{2} ... Segmentation fault (core dumped) % cat gugu.exe.stackdump Exception: STATUS_ACCESS_VIOLATION at eip=610B764E eax=00000000 ebx=0028CBB0 ecx=00000032 edx=00403065 esi=00000001 edi=00000000 ebp=00403068 esp=0028CB10 program=D:\Users\dexcoff1\dexcoff1\cygscf\gugu.exe, pid 22300, thread main cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: Frame Function Args 00403068 610B764E (2073253D, 0A2E2E2E, 5F657200, 6275736E) End of stack trace % objdump -d /usr/bin/cygwin1.dll ... 610b7400 <_p_ere>: ... 610b762e: 66 90 xchg %ax,%ax 610b7630: 3c 7b cmp $0x7b,%al 610b7632: 0f 85 08 fe ff ff jne 610b7440 <_p_ere+0x40> 610b7638: 8d 42 01 lea 0x1(%edx),%eax 610b763b: 39 c5 cmp %eax,%ebp 610b763d: 0f 86 fd fd ff ff jbe 610b7440 <_p_ere+0x40> 610b7643: e8 08 7c 09 00 call 6114f250 <___locale_ctype_ptr> 610b7648: 8b 13 mov (%ebx),%edx 610b764a: 0f b6 4a 01 movzbl 0x1(%edx),%ecx 610b764e: f6 44 08 01 04 testb $0x4,0x1(%eax,%ecx,1) 610b7653: 0f 84 87 02 00 00 je 610b78e0 <_p_ere+0x4e0> 610b7659: 83 c2 01 add $0x1,%edx 610b765c: 85 ff test %edi,%edi 610b765e: 89 13 mov %edx,(%ebx) 610b7660: 0f 84 e8 00 00 00 je 610b774e <_p_ere+0x34e> % -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple