------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1121
Summary: Infinite recursive + crash
Product: PCRE
Version: 8.12
Platform: x86
OS/Version: Linux
Status: NEW
Severity: bug
Priority: high
Component: Code
AssignedTo: ph10@???
ReportedBy: cimmino.marco@???
CC: pcre-dev@???
I have:
RE stringA: '(((?:ciao:)((\w|\+\d)(\w|\d|[-.])+(;(\w|\+\d)(\w|\d|[-.])+)*)))'
string stringB: 'ciao:crashme'
string match: ''
while (stringA.PartialMatch(stringB, &match))
{
printf("hey!");
}
The crash bt is this one:
Program received signal SIGSEGV, Segmentation fault.
0x08278d77 in match ()
(gdb) bt
#0 - almost 20k recursive match() calls
#19396 0x0826d9e5 in match ()
#19397 0x0827de56 in pcre_exec ()
#19398 0x08260ab2 in pcrecpp::RE::TryMatch(pcrecpp::StringPiece const&, int,
pcrecpp::RE::Anchor, bool, int*, int) const ()
#19399 0x0826144f in pcrecpp::RE::DoMatchImpl(pcrecpp::StringPiece const&,
pcrecpp::RE::Anchor, int*, pcrecpp::Arg const* const*, int, int*, int) const ()
#19400 0x08261b86 in pcrecpp::RE::PartialMatch(pcrecpp::StringPiece const&,
pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg
const&, pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg const&,
pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg
const&, pcrecpp::Arg const&, pcrecpp::Arg const&, pcrecpp::Arg const&,
pcrecpp::Arg const&, pcrecpp::Arg const&) const ()
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email