ID: 25620 User updated by: xris at farcaster dot net Reported By: xris at farcaster dot net -Status: Feedback +Status: Open Bug Type: Scripting Engine problem Operating System: GNU/Linux 2.4.20 PHP Version: 4.3.4-dev New Comment:
So far i checked 600 methods, but could'nt find any return's similar to your examples. What about these constructs, are they known to cause heap corruption, too? // Example 1 function &return_ref_constant() { return FALSE; // or "return (1<2):" } // Example 2 function &a() { return $b } function &return_ref_method() { return $this->a(); } // Example 3 function &return_ref_array() { return array(); } Yes, i know, some of them are "wrong". Previous Comments: ------------------------------------------------------------------------ [2003-09-27 11:00:41] [EMAIL PROTECTED] Seems to me the same issue addressed in bug #22510. I suspect you are trying to return a value by reference that is not originated from a variable somewhere in a function. That is, function &return_ref_a() { return $a + $b; } function &return_ref_b() { return @$a; } function &return_ref_c() { return -$a; } None of the above examples don't actually work, which are verified to cause random heap corruption. Please check if such an error is somewhere in your code. ------------------------------------------------------------------------ [2003-09-27 09:22:58] xris at farcaster dot net Rechecked both strings; "SetVerband" is definitely a method (theres no other usage of this string in the whole system), but "Bundesland" is a variable (i replaced all '$Bundesland' variables with '$dnalsednuB'). I'll try to identify the offending usage of this var, but there are 146 places where such a variable name is used. In almost all cases, $Bundesland contains a class, though.. ------------------------------------------------------------------------ [2003-09-27 08:58:34] xris at farcaster dot net > Don't you KNOW what that file has in it??? well.. actually.. it's not that simple. As i stated on various occasions, our code is quite complex. We are using a self-made on demand dynamic class loading system. But as you mention it, i could propably modify the class loader to generate one huge script containg the complete code which would otherwise just be include()d. To answer the question: i do have methods called like these, but "Bundesland" might be an ordinary string, a var or anything. i'll check, but i'm pretty sure it's a method. - bison (GNU Bison) 1.35 - flex version 2.5.4 ------------------------------------------------------------------------ [2003-09-27 08:43:22] [EMAIL PROTECTED] "Most likely class methods" ?!?! Don't you KNOW what that file has in it??? (in latter case, htdocs/sport/auswahl.php) Put it online (as .txt) so we can actually see what's in it. Also, what do these output: # bison --version # flex --version ------------------------------------------------------------------------ [2003-09-27 08:27:26] xris at farcaster dot net > Put the zend_language_scanner.c file online somewhere, http://farcaster.net/zend_language_scanner.c Both "Bundesland" and "SetVerband" are most likely class methods. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/25620 -- Edit this bug report at http://bugs.php.net/?id=25620&edit=1