[pcre-dev] [Bug 1121] New: Infinite recursive + crash

Top Page
Delete this message
Author: Marco Cimmino
Date:  
To: pcre-dev
Subject: [pcre-dev] [Bug 1121] New: Infinite recursive + crash
------- 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