From 65637d89411e96dee5ee9fc2e8a7b3805c4162a2 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Fri, 2 Sep 2011 20:16:41 +0000 Subject: (svn r22874) -Fix [FS#4747]: Check size of various buffers before allocation. (monoid) --- src/script/squirrel_helper.hpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/script') diff --git a/src/script/squirrel_helper.hpp b/src/script/squirrel_helper.hpp index a7d0bf7ba..babdf74b3 100644 --- a/src/script/squirrel_helper.hpp +++ b/src/script/squirrel_helper.hpp @@ -118,6 +118,9 @@ namespace SQConvert { template <> inline Array *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { + /* Sanity check of the size. */ + if (sq_getsize(vm, index) > UINT16_MAX) throw sq_throwerror(vm, _SC("an array used as parameter to a function is too large")); + SQObject obj; sq_getstackobj(vm, index, &obj); sq_pushobject(vm, obj); -- cgit v1.2.3-70-g09d2