Mantis - Quercus
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1624 | major | always | 02-24-07 04:31 | 03-20-07 14:58 | |
|
|||||
Reporter: | romaz | Platform: | |||
Assigned To: | nam | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
|
|||||
Summary: | 0001624: StackOverflowError when assigning a value to an instance variable from __set() | ||||
Description: | If you try to access an object property from inside the "field interceptor" __set() method, you go in a infinite loop. | ||||
Steps To Reproduce: | |||||
Additional Information: |
Code to reproduce bug: class Overloaded { function __set( $var, $value ) { $this->$var = $value; } } $o = new Overloaded(); $o->foo = 0; Significative portion of the stacktrace (looping): at com.caucho.quercus.program.Function.call(Function.java:264) at com.caucho.quercus.program.AbstractFunction.callMethod(AbstractFunction.java:208) at com.caucho.quercus.program.AbstractFunction.callMethod(AbstractFunction.java:394) at com.caucho.quercus.env.ObjectExtValue.putField(ObjectExtValue.java:307) at com.caucho.quercus.expr.ThisFieldExpr.evalAssign(ThisFieldExpr.java:130) at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:79) at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:63) at com.caucho.quercus.program.Function.callImpl(Function.java:316) |
||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|