Re: Major Bug in Interpreter [Attn: Robert Craig]
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
|
Not Categorized, Please Help
|
|