ID:               36203
 Updated by:       [EMAIL PROTECTED]
 Reported By:      freebsd at akruijff dot dds dot nl
-Status:           Open
+Status:           Bogus
 Bug Type:         PCRE related
 Operating System: FreeBSD
 PHP Version:      5.1.2
 New Comment:

Yes, you hit the inherent problem with PCRE and it's limits.
(try searching the bug db for PCRE crashes and you'll find longer
explanation)


Previous Comments:
------------------------------------------------------------------------

[2006-01-30 03:40:08] freebsd at akruijff dot dds dot nl

Description:
------------
The preg_replace instruction I've writen should remove everything
betwain [!-- and --]. This can include newlines.

The code use to run just fine until i upgraded from apache20 to
apache22 this month. So I am not sure whether this is a php bug or
apache22 bug.

When this code is run then apache22 reports:
[Mon Jan 30 03:07:16 2006] [notice] child pid 2921 exit signal Illegal
instruction (4)

I've bin able to avoid a crash by reducing the input a lot (aprox 80%)
or changing regex from \[!--(.|\n)*?--\] to \[!--(.*|\n)*?--\].

Reproduce code:
---------------
<?php
$output = "[!--\n[table class=\"bigtext\"]\n[thead]\n[tr][td
align='center' colspan='3'][b]Overview firewall
rules[/b][/td][/tr]\n[tr][td]Start rule number[/td][td]Stop rule
numer[/td][td]Purpose[/td][/tr]\n[/thead]\n[tbody]\n[tr][td
align='center']100[/td][td align='center']199[/td][td]Count or allow
traffic on the
NICs[/td][/tr]\n[tr][td][br][/td][td][br][/td][td][br][/td][/tr]\n[tr][td
align='center']1000[/td][td align='center']1999[/td][td][b]Early
allow[/b][/td][/tr]\n[tr][td align='center']1000[/td][td
align='center']1099[/td][td]Allow local traffic[/td][/tr]\n[tr][td
align='center']1300[/td][td align='center']1399[/td][td]Allow local
services and deny
alternatives[/td][/tr]\n[tr][td][br][/td][td][br][/td][td][br][/td][/tr]\n[tr][td
align='center']2000[/td][td align='center']2999[/td][td][b]Early deny /
reject[/b][/td][/tr]\n[tr][td align='center']2000[/td][td
align='center']2099[/td][td]Deny spoofing[/td][/tr]\n[tr][td
align='center']2100[/td][td align='center']2199[/td][td]Blocked hosts
by portsentry (thirth part application)[/td][/tr]\n[tr][td
align='center']2200[/td][td align='center']2499[/td][td]Blocklist
(written by a one of my scripts)[/td][/tr]\n[tr][td
align='center']2900[/td][td align='center']2999[/td][td]Tempory block
(intented until ipa is
run)[/td][/tr]\n[tr][td][br][/td][td][br][/td][td][br][/td][/tr]\n[tr][td
align='center']3000[/td][td align='center']3999[/td][td][b]Network
Address Transtion + Dummynet[/b][/td][/tr]\n[tr][td
align='center']3000[/td][td align='center']3099[/td][td]Selecting
traffic shaping and natd traffic[/td][/tr]\n[tr][td
align='center']3100[/td][td align='center']3199[/td][td]Traffic shaping
up[/td][/tr]\n[tr][td align='center']3200[/td][td
align='center']3299[/td][td]Passing though natd[/td][/tr]\n[tr][td
align='center']3300[/td][td align='center']3399[/td][td]Traffic shaping
down (for natd traffic)[/td][/tr]\n[tr][td align='center']3400[/td][td
align='center']3499[/td][td]Traffic shaping down (for non-natd
traffic)[/td][/tr]\n[tr][td][br][/td][td][br][/td][td][br][/td][/tr]\n[tr][td
align='center']4000[/td][td align='center']4999[/td][td][b]Selection for
skipto 5xxxx[/b][/td][/tr]\n[tr][td align='center']4000[/td][td
align='center']4099 [/td][td]Skipto 5x000 traffic based on IP
number[/td][/tr]\n[tr][td align='center']4100[/td][td
align='center']4199[/td][td]Skipto 5x000 traffic based on account
information[/td][/tr]\n[tr][td align='center']4600[/td][td
align='center']4699[/td][td]STATEFUL Firewall[/td][/tr]\n[tr][td
align='center']4900[/td][td align='center']4999[/td][td]Deny everything
else[/td][/tr]\n[tr][td][br][/td][td][br][/td][td][br][/td][/tr]\n[tr][td
align='center']50000[/td][td align='center']59999[/td][td][b]Count
traffic for a user (IP or account)[/b][/td][/tr]\n[tr][td
align='center']5x000[/td][td align='center'5x999[/td][td]Selecting out
or in[/td][/tr]\n[tr][td align='center']5x100[/td][td
align='center']5x499[/td][td]Counting traffic out[/td][/tr]\n[tr][td
align='center']5x600[/td][td align='center']5x999[/td][td]Counting
traffic in[/td][/tr]\n[/tbody]\n[/table]\n --]\n";
  $output = preg_replace('/\[!--(.|\n)*?--\]/', '', $output);
echo 'output="'.$output.'"';
?>




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36203&edit=1

Reply via email to