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.

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

Reply via email to