Bug #52579 [Opn->Bgs]: define() accepts characters out of range
| From: | johannes@php.net | Date: | Tue, 10 Aug 2010 21:21:01 +0000 |
| Subject: | Bug #52579 [Opn->Bgs]: define() accepts characters out of range | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-153314@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=52579&edit=1
ID: 52579
Updated by: johannes@php.net
Reported by: johnston dot joshua at gmail dot com
Summary: define() accepts characters out of range
-Status: Open
+Status: Bogus
Type: Bug
Package: Scripting Engine problem
Operating System: Any
PHP Version: 5.3.3
Block user comment: N
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
A constant may contain any character. Use constant() to retrieve the
value. Only the parser doesn't allow any name but that's independent.
Previous Comments:
------------------------------------------------------------------------
[2010-08-10 21:51:44] johnston dot joshua at gmail dot com
Description:
------------
Constants can be defined with invalid characters in the name. The
documentation is correct but there seems to be no validation that
matches the docs when the constant's name is assigned to
zend_constant.name
According to the docs on Constants:
The name of a constant follows the same rules as any label in PHP. A
valid constant name starts with a letter or underscore, followed by any
number of letters, numbers, or underscores. As a regular expression, it
would be expressed thusly: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Test script:
---------------
<?php
define('/', 'slash');
echo constant('/'); // works
echo /; // parse error as expected
?>
Expected result:
----------------
define() should throw an error stating that the constant name has
invalid characters in it
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52579&edit=1