Hello developers,

I made a patch for the bug#39018:

$x = 'test';
@$x[4] == 'a';
(@$x[4]) == 'a';
(@($x[4])) == 'a';
@($x[4]) == 'a';
$foo = 'test'; $x = @$foo[6];

Actually, all cases above shows E_NOTICE.
With the patch, E_NOTICE is not showed.

Patches:
[5.3]  http://felipe.ath.cx/diff/bug39018.diff
[HEAD] http://felipe.ath.cx/diff/bug39018-HEAD.diff



However, this patch breaks one test in Zend/tests/, because of an
E_NOTICE:

--TEST--
Bug #39304 (Segmentation fault with list unpacking of string offset)
--FILE--
<?php 
  $s = "";
  list($a, $b) = $s[0];
?>
--EXPECTF--
Fatal error: Cannot use string offset as an array in %sbug39304.php on
line 3

Diff:
001+ Notice: Uninitialized string offset: 0 ...



Would be this a problem? Looks right to me...

Finally, any objection?


Tests for the this fix:
- http://felipe.ath.cx/diff/bug39018.phpt
- http://felipe.ath.cx/diff/bug39018_2.phpt



Thanks.

-- 
Regards,
Felipe Pena.


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to