|
In versions of the PCRE regular expression library before 8.02, compiling
a very large regular expression will overflow the workspace buffer.
Although the code checks for the size of the compiled regular expression,
the check only returns true after the end of the buffer has been
overrun. The bug was fixed in PCRE 8.02 with this patch:
http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch
This example will cause a 2 byte overflow:
~$ perl -e 'print "/","("x819, ")"x819, "/"' | pcretest
Original Bug Report:
http://bugs.exim.org/show_bug.cgi?id=962