[php-src] Issue #14930: Custom stream wrapper dir_readdir output truncated to 255 characters in PHP 8.3
| From: | joec4i | Date: | Fri, 12 Jul 2024 06:19:15 +0000 |
| Subject: | [php-src] Issue #14930: Custom stream wrapper dir_readdir output truncated to 255 characters in PHP 8.3 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-247279@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/14930
Author: joec4i
### Description
The following code:
```php
class DummyWrapper
{
public $context;
public const TEST_FILENAME =
'ieNoquiaC6ijeiy9beejaiphoriejo2cheehooGou8uhoh7eh0gefahyuQuohd7eec9auso9eeFah2Maedohsemi1eetoo5fo5biePh5eephai7SiuguipouLeemequ2oope9aigoQu5efak2aLeri9ithaiJ9eew3dianaiHoo1aexaighiitee6geghiequ5nohhiikahwee8ohk2Soip2Aikeithohdeitiedeiku7DiTh2eep3aiyeejair4dau4osai1si9laeZaiquoopomomai5eeMoce0oecietu';
public function dir_opendir()
{
return true;
}
public function dir_readdir()
{
return self::TEST_FILENAME;
}
}
stream_wrapper_register('dummy', 'DummyWrapper');
$dh = opendir('dummy://', stream_context_create());
$file = readdir($dh);
var_dump($file);
var_dump(DummyWrapper::TEST_FILENAME);
```
Resulted in this output:
```
➜ /tmp php stream_wrapper.php
/private/tmp/stream_wrapper.php:25:
string(255)
"ieNoquiaC6ijeiy9beejaiphoriejo2cheehooGou8uhoh7eh0gefahyuQuohd7eec9auso9eeFah2Maedohsemi1eetoo5fo5biePh5eephai7SiuguipouLeemequ2oope9aigoQu5efak2aLeri9ithaiJ9eew3dianaiHoo1aexaighiitee6geghiequ5nohhiikahwee8ohk2Soip2Aikeithohdeitiedeiku7DiTh2eep3aiyeejair"
/private/tmp/stream_wrapper.php:26:
string(300)
"ieNoquiaC6ijeiy9beejaiphoriejo2cheehooGou8uhoh7eh0gefahyuQuohd7eec9auso9eeFah2Maedohsemi1eetoo5fo5biePh5eephai7SiuguipouLeemequ2oope9aigoQu5efak2aLeri9ithaiJ9eew3dianaiHoo1aexaighiitee6geghiequ5nohhiikahwee8ohk2Soip2Aikeithohdeitiedeiku7DiTh2eep3aiyeejair4dau4osai1si9laeZaiquoopomomai5eeMoce0oecietu"```
➜ /tmp php -v
PHP 8.3.9 (cli) (built: Jul 2 2024 14:10:14) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.9, Copyright (c) Zend Technologies
with Xdebug v3.3.1, Copyright (c) 2002-2023, by Derick Rethans
with Zend OPcache v8.3.9, Copyright (c), by Zend Technologies
```
But I expected this output instead:
```
➜ /tmp /opt/homebrew/Cellar/php@8.2/8.2.21/bin/php stream_wrapper.php
/private/tmp/stream_wrapper.php:25:
string(300)
"ieNoquiaC6ijeiy9beejaiphoriejo2cheehooGou8uhoh7eh0gefahyuQuohd7eec9auso9eeFah2Maedohsemi1eetoo5fo5biePh5eephai7SiuguipouLeemequ2oope9aigoQu5efak2aLeri9ithaiJ9eew3dianaiHoo1aexaighiitee6geghiequ5nohhiikahwee8ohk2Soip2Aikeithohdeitiedeiku7DiTh2eep3aiyeejair4dau4osai1si9laeZaiquoopomomai5eeMoce0oecietu"
/private/tmp/stream_wrapper.php:26:
string(300)
"ieNoquiaC6ijeiy9beejaiphoriejo2cheehooGou8uhoh7eh0gefahyuQuohd7eec9auso9eeFah2Maedohsemi1eetoo5fo5biePh5eephai7SiuguipouLeemequ2oope9aigoQu5efak2aLeri9ithaiJ9eew3dianaiHoo1aexaighiitee6geghiequ5nohhiikahwee8ohk2Soip2Aikeithohdeitiedeiku7DiTh2eep3aiyeejair4dau4osai1si9laeZaiquoopomomai5eeMoce0oecietu"
```
```
➜ /tmp /opt/homebrew/Cellar/php@8.2/8.2.21/bin/php -v
PHP 8.2.21 (cli) (built: Jul 2 2024 12:51:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.21, Copyright (c) Zend Technologies
with Xdebug v3.3.1, Copyright (c) 2002-2023, by Derick Rethans
with Zend OPcache v8.2.21, Copyright (c), by Zend Technologies
```
### PHP Version
PHP 8.3.9
### Operating System
_No response_