------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1222 --- Comment #18 from Philip Hazel <[email protected]> 2012-04-18 16:41:55 --- Doh! The bug is in pcretest, not in the library. It is a really, really, stupid bug and my face is very red. Here is a patch that I believe will fix it. If this is OK, I'll add some additional code to the library to check for sane values in the workspace on restart. --- pcretest.c.ORIG 2012-04-18 16:34:23.000000000 +0100 +++ pcretest.c 2012-04-18 16:36:28.000000000 +0100 @@ -2169,6 +2169,9 @@ #if !defined NOPOSIX int posix = 0; #endif +#if !defined NODFA +int dfa_workspace[1000]; +#endif int debug = 0; int done = 0; int all_use_dfa = 0; @@ -3868,12 +3871,11 @@ #if !defined NODFA if (all_use_dfa || use_dfa) { - int workspace[1000]; for (i = 0; i < timeitm; i++) { PCRE_DFA_EXEC(count, re, extra, bptr, len, start_offset, - (options | g_notempty), use_offsets, use_size_offsets, workspace, - (sizeof(workspace)/sizeof(int))); + (options | g_notempty), use_offsets, use_size_offsets, dfa_workspace, + (sizeof(dfa_workspace)/sizeof(int))); } } else @@ -3939,10 +3941,9 @@ #if !defined NODFA else if (all_use_dfa || use_dfa) { - int workspace[1000]; PCRE_DFA_EXEC(count, re, extra, bptr, len, start_offset, - (options | g_notempty), use_offsets, use_size_offsets, workspace, - (sizeof(workspace)/sizeof(int))); + (options | g_notempty), use_offsets, use_size_offsets, dfa_workspace, + (sizeof(dfa_workspace)/sizeof(int))); if (count == 0) { fprintf(outfile, "Matched, but too many subsidiary matches\n"); quercite$ -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
