about summary refs log tree commit diff
path: root/executor.c
diff options
context:
space:
mode:
authorNakidai <nakidai@disroot.org>2025-03-31 17:44:31 +0300
committerNakidai <nakidai@disroot.org>2025-03-31 17:44:31 +0300
commit9a246f38d326e98e69b9a6946d649d935bf056e9 (patch)
treef1ebc02f07b132b489b4256307742bbfacb45081 /executor.c
parent3f512dbb225f44b1be0b7be57fc00e89b0efb427 (diff)
download3cl-9a246f38d326e98e69b9a6946d649d935bf056e9.tar.gz
3cl-9a246f38d326e98e69b9a6946d649d935bf056e9.zip
Add asserts for * and ~
Diffstat (limited to 'executor.c')
-rw-r--r--executor.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/executor.c b/executor.c
index e748a8c..a528c4c 100644
--- a/executor.c
+++ b/executor.c
@@ -120,11 +120,13 @@ enum cccl_ExecutorStatus cccl_execute(struct cccl_Node *code, struct cccl_Variab
     } break;
     case cccl_Node_ADD:
     {
+        assert(stack.length >= 2);
         --stack.length;
         stack.buffer[stack.length - 1] += stack.buffer[stack.length];
     } break;
     case cccl_Node_SUBTRACT:
     {
+        assert(stack.length >= 2);
         --stack.length;
         stack.buffer[stack.length - 1] -= stack.buffer[stack.length];
     } break;