ncruces wrote:
> On 3/31/06, Nicolas Cannasse <[EMAIL PROTECTED]> wrote:
> 
>>Uhm that's problematic.
>>
>>The neko_check_stack function is checking that the stack is not changed
>>in functions, and that the functions does not access outside their
>>stacks (for security reasons). It's an important part of the bytecode
>>validation.
>>
>>Could you add printf's in neko_check_stack at the places where there is
>>"return 0" ?
> 
> 
> Did that. It breaks on line 180 (by the way, these line numbers are
> now the same as current CVS). And then I added more useful stuf to
> that specific printf. This is what I get:
>   [EMAIL PROTECTED]: c=AccStack i=80106 m->code[i+1]=4294967296
>     stack=5
>   [EMAIL PROTECTED]
> 
> From the way I did things (printfs on each and every "return 0;") I
> gather there are no recursive calls. That huge number, 4294967296, is
> 0x100000000 (a lone 32nd bit). I also checked to make sure "sizeof
> m->code[i+1]" (which is an int_val or intptr_t) is indeed 8 in this
> architecture.

Thanks that should be enough infos.
Could you replace

        m->code[i++] = itmp;

By

        m->code[i++] = itmp;

At line 372 ?
Tell me if that works.

Nicolas


-- 
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to