[pcre-dev] [Bug 2484] Stack overflow in internal_dfa_match()…

Top Page

Reply to this message
Author: admin
Date:  
To: pcre-dev
Old-Topics: [pcre-dev] [Bug 2484] New: Stack overflow in internal_dfa_match() (pcre2_dfa_match.c)
Subject: [pcre-dev] [Bug 2484] Stack overflow in internal_dfa_match() (pcre2_dfa_match.c)
https://bugs.exim.org/show_bug.cgi?id=2484

Mehmet gelisin <mehmetgelisin@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mehmetgelisin@???


--- Comment #3 from Mehmet gelisin <mehmetgelisin@???> ---
Hello,

prcegrep version 7.8 is segfaulting, (probably) due to a stack overflow for
long strings matching a recursive regex.

Ex: http://embermanchester.uk/

test=$(echo -n "{"; for i in $(seq 15);do; echo -n "a"; done; echo -n "}");echo
$test | perl -ne "print if m/{([^{}]|(?R))*}/g" http://www-look-4.com/
<WORKS FINE...>
test=$(echo -n "{"; for i in $(seq 15000);do; echo -n "a"; done; echo -n
"}");echo $test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<SEGFAULT>
http://www.iu-bloomington.com/
Loading the core I get the same address thousands times, so it looks very much
like a stack overflow. It will probably mean rewriting the recursive regexp
behavior quite heavily (probably not a small fix) https://www.webb-dev.co.uk/
not using recursion for (well...) recursive regex.

Cheers,

Hello, https://waytowhatsnext.com/

prcegrep version 7.8 is segfaulting, (probably) due to a stack overflow for
long strings matching a recursive regex.

Ex: http://www.jopspeech.com/

test=$(echo -n "{"; for i in $(seq 15);do; echo -n "a"; done; echo -n "}");echo
$test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<WORKS FINE...>
test=$(echo -n "{"; for i in $(seq 15000);do; echo -n "a"; done; echo -n
"}");echo $test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<SEGFAULT>

Loading the core I get the same address thousands times, so it looks very much
like a stack overflow. http://www.logoarts.co.uk/ It will probably mean
rewriting the recursive regexp behavior quite heavily (probably not a small
fix) not using recursion for (well...) recursive regex.
http://www.acpirateradio.co.uk/
Cheers,

Hello,

prcegrep version 7.8 is segfaulting, (probably) due to a stack overflow for
long strings matching a recursive regex.
http://www.slipstone.co.uk/
Ex:

test=$(echo -n "{"; for i in $(seq 15);do; echo -n "a"; done; echo -n "}");echo
$test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<WORKS FINE...>
test=$(echo -n "{"; for i in $(seq 15000);do; echo -n "a"; done; echo -n
"}");echo $test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<SEGFAULT>

Loading the core I get the same address thousands times, so it looks very much
like a stack overflow. It will probably mean rewriting the recursive regexp
behavior quite heavily (probably not a small fix) not using recursion for
(well...) recursive regex.

Cheers,
http://connstr.net/
Hello,

prcegrep version 7.8 is segfaulting, (probably) due to a stack overflow for
long strings matching a recursive regex.

Ex:

test=$(echo -n "{"; for i in $(seq 15);do; echo -n "a"; done; echo -n "}");echo
$test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<WORKS FINE...> http://joerg.li/
test=$(echo -n "{"; for i in $(seq 15000);do; echo -n "a"; done; echo -n
"}");echo $test | perl -ne "print if m/{([^{}]|(?R))*}/g"
<SEGFAULT>

Loading the core I get the same address thousands times, so it looks very much
like a stack overflow. http://www.compilatori.com/ It will probably mean
rewriting the recursive regexp behavior quite heavily (probably not a small
fix) not using recursion for (well...) recursive regex.
http://www.wearelondonmade.com/
Cheers,

--
You are receiving this mail because:
You are on the CC list for the bug.