From 655679e7da51e8e82af6f906e99b382a8e8eba44 Mon Sep 17 00:00:00 2001 From: Alexander 'z33ky' Hirsch <1zeeky@gmail.com> Date: Mon, 23 Jun 2025 20:49:23 +0200 Subject: [PATCH] Check type of SQVector construction instance This prevents manual invocations of the Vector.constructor with an invalid value. --- sp/src/vscript/vscript_squirrel.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sp/src/vscript/vscript_squirrel.cpp b/sp/src/vscript/vscript_squirrel.cpp index 39139fec..f2a27755 100644 --- a/sp/src/vscript/vscript_squirrel.cpp +++ b/sp/src/vscript/vscript_squirrel.cpp @@ -327,7 +327,16 @@ namespace SQVector } SQUserPointer p; - sq_getinstanceup(vm, 1, &p, 0); + if (SQ_FAILED(sq_getinstanceup(vm, 1, &p, 0))) + { + return SQ_ERROR; + } + + if (!p) + { + return sq_throwerror(vm, "Accessed null instance"); + } + new (p) Vector(x, y, z); return 0;