|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #26219 Segmentation fault using regexp in php versions later than 4.3.3RC1
Submitted: 2003-11-12 09:46 UTC Modified: 2003-12-22 03:46 UTC
From: peter at normann dot com Assigned:
Status: Not a bug Package: Regexps related
PHP Version: 4.3.4 OS: Linux kernel 2.5.74
Private report: No CVE-ID: None
 [2003-11-12 09:46 UTC] peter at normann dot com
php crashes when using the preg_match function. Code included below. Works in php4.3.3RC1 but any later version causes segmentation fault.

The code is part of a text filter.

$output contains text with plain text and html mixed. The idea is anything between [html] and [/html] will go untouched by the filter.

I use dozens of other regular expressions, but preg_match is a sure killer. I can easily reproduce this behavior.

Reproduce code:
while (preg_match('/\[html]((.|\s)+?)\[\/html]/', $output, $htmlshow))
$output = str_replace($htmlshow[0], str_replace('<br />', '', strtr($htmlshow[1], array_flip(get_html_translation_table(HTML_ENTITIES)))), $output);

Actual result:
child pid xxxxx exit signal Segmentation fault (11)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-11-12 11:00 UTC]
Please provide sample of source text on which the regex operates.
 [2003-11-12 11:24 UTC] peter at normann dot com
It's rather lengthy, but I have provided it at

Also, the whole function can be found at

Thank you for taking your time...
 [2003-11-12 13:00 UTC]
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

I can verify the crash, however the crash is not the result of PHP code but rather due to a bug in the pcre library. Please report this bug to the maintainers of the pcre library.
 [2003-12-22 01:04 UTC]
Could not reproduce with the latest PCRE library version 4.5.
 [2003-12-22 03:46 UTC] peter at normann dot com
Thank you Andrei.

I installed the latest pcre lib version 4.5 and linked the php-4.3.4 against it, but the problem persisted.

Then I downloaded the latest snapshot of 4.3.5-dev and compiled it using the bundled libpcre 4.5 and... problem solved :-)
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Mar 03 19:01:28 2024 UTC