Bug #63510 [Com]: Integer overflow with chr
| From: | idokan at gmail dot com | Date: | Wed, 14 Nov 2012 15:36:32 +0000 |
| Subject: | Bug #63510 [Com]: Integer overflow with chr | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-174675@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=63510&edit=1
ID: 63510
Comment by: idokan at gmail dot com
Reported by: idokan at gmail dot com
Summary: Integer overflow with chr
Status: Open
Type: Bug
Package: Strings related
PHP Version: 5.4.8
Block user comment: N
Private report: N
New Comment:
Huh ?!
ASCII is 0..127 chars, if they are out of range and also from extended ASCII (128..255), then you
must report an error like with normal implementation such as Ruby, Python, Pascal, Perl (with strict
bytes) etc...
Not to $value & 255 it.
Previous Comments:
------------------------------------------------------------------------
[2012-11-14 15:28:28] laruence@php.net
I think this check could be done in user script self.
the document said:
chr convert *ascii* code .. so...
------------------------------------------------------------------------
[2012-11-14 09:36:12] idokan at gmail dot com
Description:
------------
The chr function translate a single Byte length integer into it's ASCII value.
When providing a number bigger then 255, it returns the first byte instead of reporting an error
about being out of range.
Test script:
---------------
echo chr(1000) . ' ' . ord(chr(1000)) . "\n";
Expected result:
----------------
chr must check the numeric boundaries and report on on an error when they are out of the range.
Actual result:
--------------
returns the first byte out of the result, making it appear like an integer overflow that the carry
flag exception was captured.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=63510&edit=1