#48347 [Com]: Connection Interrupted after invalid preg_match_all
| From: | kenorb at gmail dot com | Date: | Wed, 20 May 2009 19:26:43 +0000 |
| Subject: | #48347 [Com]: Connection Interrupted after invalid preg_match_all | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-137576@lists.php.net to get a copy of this message | ||
ID: 48347
Comment by: kenorb at gmail dot com
Reported By: kenorb at gmail dot com
Status: Open
Bug Type: Reproducible crash
Operating System: Windows7
PHP Version: 5.2.9
New Comment:
Could be related to bug:
#20698 (but of course I can't add a comment there)
Previous Comments:
------------------------------------------------------------------------
[2009-05-20 19:15:52] kenorb at gmail dot com
Description:
------------
Following code crashing whole website.
A could reproduce it with php5.2.9-1 on Win7 (using WAMP).
I couldn't on 5.2.6 on FreeBSD configuration.
Reproduce code:
---------------
$data = "; \$Id: administerusersbyrole.info,v 1.1.2.1 2009/01/27
20:40:40 smokris Exp \$\nname = Administer Users by Role\ndescription =
\"Allows users with 'administer users' permission and a role (specified
in 'Permissions') to edit/delete other users with a specified role. If
the user being edited has multiple roles, the user doing the editing
must have permission to edit ALL of the user being edited's roles. Also
provides control over user creation. Works well in conjunction with <a
href='http://drupal.org/project/role_delegation'>role_delegation</a>.\"\ncore
= 6.x\n\n; Information added by drupal.org packaging script on
2009-01-28\nversion = \"6.x-1.3\"\ncore = \"6.x\"\nproject =
\"administerusersbyrole\"\ndatestamp = \"1233114605\"\n\n";
preg_match_all('
@^\s* # Start at the beginning of a line,
ignoring leading whitespace
((?:
[^=;\[\]]| # Key names cannot contain equal
signs, semi-colons or square brackets,
\[[^\[\]]*\] # unless they are balanced and not
nested
)+?)
\s*=\s* # Key/value pairs are separated by
equal signs (ignoring white-space)
(?:
("(?:[^"]|(?<=\\\\)")*")| # Double-quoted string, which may
contain slash-escaped quotes/slashes
(\'(?:[^\']|(?<=\\\\)\')*\')| # Single-quoted string, which may
contain slash-escaped quotes/slashes
([^\r\n]*?) # Non-quoted string
)\s*$ # Stop at the next end of a line,
ignoring trailing whitespace
@msx', $data, $matches, PREG_SET_ORDER);
Expected result:
----------------
Continue execution.
Actual result:
--------------
On Firefox: Connection Interrupted
On Chrome: Error 101 (net::ERR_CONNECTION_RESET): Unknown error.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48347&edit=1