diff --git a/.idea/runConfigurations/tyche_test.xml b/.idea/runConfigurations/tyche_test.xml index c5c7393..f658405 100644 --- a/.idea/runConfigurations/tyche_test.xml +++ b/.idea/runConfigurations/tyche_test.xml @@ -1,10 +1,9 @@ - + - diff --git a/lib/stack.c b/lib/stack.c index 3b1f547..ccb92fb 100644 --- a/lib/stack.c +++ b/lib/stack.c @@ -81,7 +81,7 @@ static TYC_RESULT stack_at(Stack* s, int32_t key, VALUE* v) return T_ERR_STACK_ACCESS_OUT_OF_RANGE; *v = s->stack[stack_top_fp(s) + key]; } else { - if ((int) stack_top_fp(s) + (int) s->stack_n + key < 0) + if ((int) s->stack_n + key < (int) stack_top_fp(s)) return T_ERR_STACK_ACCESS_OUT_OF_RANGE; *v = s->stack[s->stack_n + key]; } @@ -96,7 +96,7 @@ static TYC_RESULT stack_set(Stack* s, int32_t key, VALUE v) return T_ERR_STACK_ACCESS_OUT_OF_RANGE; s->stack[stack_top_fp(s) + key] = v; } else { - if ((int) stack_top_fp(s) + (int) s->stack_n + key < 0) + if ((int) s->stack_n + key < (int) stack_top_fp(s)) return T_ERR_STACK_ACCESS_OUT_OF_RANGE; s->stack[s->stack_n + key] = v; }