Re: Major Bug in Interpreter [Attn: Robert Craig]
- Posted by Robert Craig <rds at RapidEuphoria.com> Feb 17, 2005
- 478 views
Patrick Barnes wrote: > I don't think there would be many false positives here... Rob, what > 'hundreds' are you talking about? When I was implementing this stuff several months ago, I did some tests, and found that while some examples were fairly trivial, it quite often turned out, especially in large Windows prgrams, that a very large number of variables could potentially be overwritten by a particular function call used on the RHS of a multiply subscripted assignment. The reasons for this are: 1. The function contains calls to other functions and procedures, which contain calls to other functions and procedures etc. ... 2. A call-back can happen whenever Euphoria calls a .dll routine. The Euphoria call-back function might modify variables, directly or through calls to other routines. 3. A program might have a forward call via routine id that opens up almost all the (non-private) variables in the whole program to possible modification A human might be able to analyze the source code and rule out the possibility of a routine calling another routine in a given situation, or a call-back happening, but it's not practical for the Euphoria parser to do this. If you want to experiment with warnings, modify source\parser.e to issue a warning anytime the variable "dangerous" is set to true. I think that's essentially what you are after. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com