|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2020-01-13 19:04 UTC] requinix@php.net
 
-Status: Open
+Status: Not a bug
  [2020-01-13 19:04 UTC] requinix@php.net
  [2020-01-13 19:32 UTC] nikic@php.net
 
-Status: Not a bug
+Status: Re-Opened
  [2020-01-13 19:32 UTC] nikic@php.net
  [2020-01-13 19:39 UTC] requinix@php.net
  [2020-07-23 20:59 UTC] nikic@php.net
 
-Assigned To:
+Assigned To: nikic
  [2020-07-24 10:23 UTC] nikic@php.net
  [2020-07-24 10:23 UTC] nikic@php.net
 
-Status: Re-Opened
+Status: Closed
 | |||||||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 20:00:01 2025 UTC | 
Description: ------------ Taking a reference of an argument makes it also to be a reference in the stack trace, which allows to modify the value from any nesting level via 'args' key of debug_backtrace Test script: --------------- <?php function test(string $val) { $a = &$val; hackingHere(); print_r($val); } function hackingHere() { // we're able to modify the $val from here, even though the arg was not a reference debug_backtrace()[1]['args'][0] = 'Modified'; } test('Original'); Expected result: ---------------- Should print 'Original' Actual result: -------------- Prints 'Modified', because `hackingHere` unexpectedly gets access to the argument.