[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Qt-Sharp Errors

From: Rhys Weatherley
Subject: Re: [DotGNU]Qt-Sharp Errors
Date: Fri, 20 Dec 2002 19:08:58 +1000
User-agent: KMail/1.4.3

On Friday 20 December 2002 05:50 pm, Gopal V wrote:

> >
>               ldstr      "()"
>               ldstr      "(int)"
>               leave.s    ?L4c176
>       ?L4c176:
> This is the thing causing verification failures ...

That looks very familiar.  This wouldn't happen to be a "switch" statement on 
a string expression inside a "try"/"foreach" would it?

For some reason, csc pushes all of the key values onto the stack at the top of 
the switch, and then promptly ignores them.  I had a similar issue in the 
pnetlib test suite a couple of weeks ago, and just put it down to "bug in 
csc: work around it by rewriting the test code".  A chain of if's fixed the 
problem for me.

We could fix this by setting the stack height to zero during processing of 
"leave" in the verifier.  Currently it makes sure that the height is already 
zero.  The CVM coder will have to be notified to pop all of the values by 
calling "ILCoderPop" for each item still on the stack before processing the 
finally blocks and outputting the jump.

It should be safe to do this - no security issues are introduced by merely 
ignoring the erroneous values on the stack.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]