From fb93b2bc8b91185f4755d1743c11c07592746148 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Sun, 31 Aug 2025 18:29:19 +0800 Subject: [PATCH] add p0 assert --- src/public/py_exception.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/public/py_exception.c b/src/public/py_exception.c index 3b97eac8..cd4267ba 100644 --- a/src/public/py_exception.c +++ b/src/public/py_exception.c @@ -158,12 +158,14 @@ bool py_matchexc(py_Type type) { void py_clearexc(py_StackRef p0) { VM* vm = pk_current_vm; py_newnil(&vm->unhandled_exc); - if(p0) vm->stack.sp = p0; + if(p0) { + c11__rtassert(p0 >= vm->stack.begin && p0 <= vm->stack.sp); + vm->stack.sp = p0; + } } static void c11_sbuf__write_exc(c11_sbuf* self, py_Ref exc) { - if(true) { c11_sbuf__write_cstr(self, "Traceback (most recent call last):\n"); } - + c11_sbuf__write_cstr(self, "Traceback (most recent call last):\n"); BaseException* ud = py_touserdata(exc); for(int i = ud->stacktrace.length - 1; i >= 0; i--) {