summaryrefslogtreecommitdiff
path: root/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch')
-rw-r--r--dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch b/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch
new file mode 100644
index 000000000000..3ba274b3270c
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-3.2-CVE-2022-30292.patch
@@ -0,0 +1,12 @@
+diff --git a/squirrel/sqbaselib.cpp b/squirrel/sqbaselib.cpp
+index e2f248e..308d2cc 100644
+--- a/squirrel/sqbaselib.cpp
++++ b/squirrel/sqbaselib.cpp
+@@ -1149,6 +1149,7 @@ static SQInteger thread_call(HSQUIRRELVM v)
+ SQObjectPtr o = stack_get(v,1);
+ if(sq_type(o) == OT_THREAD) {
+ SQInteger nparams = sq_gettop(v);
++ sq_reservestack(_thread(o), nparams + 3);
+ _thread(o)->Push(_thread(o)->_roottable);
+ for(SQInteger i = 2; i<(nparams+1); i++)
+ sq_move(_thread(o),v,i);