Re: segmentation fault when passing arguments by reference or importing global variables

From: Date: Tue, 22 Feb 2005 03:37:26 +0000
Subject: Re: segmentation fault when passing arguments by reference or importing global variables
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-15142@lists.php.net to get a copy of this message
Ahh... my favorite topic. I think I covered all the cases our company has hit in the following message to this list: http://marc.theaimsgroup.com/?l=php-dev&m=109631219107237&w=2 I've never seen a response as to whether there is hope for fixes of these problems. I ended up hacking at an already very ugly p*rl script (a language that shouldn't be mentioned on this list) to look for attempts to use non-referencable things as references. Unfortunately, not only is it in the language which must not be named, but it also makes some assumptions about the code based on company standards. I keep my fingers crossed that someone with appropriate skills will write a tool to do the check right. The problems can be painful to find. e.g. function g() { return NULL; } function h(&$x) { $x = 5; } h(g()); can cause php to crash. (Don't bother trying to reproduce it though. It only causes a crash with a _lot_ of other php code with it to make things interesting.) Good luck! - Todd On Mon, 2005-02-21 at 21:21 -0500, Michael Walter wrote: > I've as well experienced this problem several times (in a medium-size > code base). > > By returning-by-reference in the wrong places, do you mean something like > function foo() { return 10;} > $bar=&foo(); > I'm pretty convinced that even with "correct" (in that respect) code > the crash still occurs. > > Michael > > > On Mon, 21 Feb 2005 15:56:34 -0300, Martin Sarsale > <martin.sarsale@tnsweb.com> wrote: > > Derick Rethans wrote: > > > > > I've been noticing the same things, and still trying to figure out where > > > it happens. It has most likely to do with returning-by-reference in the > > > wrong places. > > > > What do you mean with returning by reference in the wrong places? could > > you give me an example? > > > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 266.2.0 - Release Date: 2/21/2005 > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > >

« previous php.internals (#15142) next »