1 diff --git a/external/squirrel/sqstdlib/sqstdstream.cpp b/external/squirrel/sqstdlib/sqstdstream.cpp
2 index 1b7a08f..af866a8 100644
3 --- a/external/squirrel/sqstdlib/sqstdstream.cpp
4 +++ b/external/squirrel/sqstdlib/sqstdstream.cpp
5 @@ -258,7 +258,11 @@ void init_streamclass(HSQUIRRELVM v)
6 sq_pushstring(v,_SC("std_stream"),-1);
\r
7 if(SQ_FAILED(sq_get(v,-2))) {
\r
8 sq_pushstring(v,_SC("std_stream"),-1);
\r
9 - sq_newclass(v,SQFalse);
\r
10 + if(SQ_FAILED(sq_newclass(v,SQFalse)))
\r
12 + throw "Failed to create new std_stream class";
\r
15 sq_settypetag(v,-1,(SQUserPointer)SQSTD_STREAM_TYPE_TAG);
\r
17 while(_stream_methods[i].name != 0) {
\r
18 @@ -266,10 +270,16 @@ void init_streamclass(HSQUIRRELVM v)
19 sq_pushstring(v,f.name,-1);
\r
20 sq_newclosure(v,f.f,0);
\r
21 sq_setparamscheck(v,f.nparamscheck,f.typemask);
\r
22 - sq_newslot(v,-3,SQFalse);
\r
23 + if(SQ_FAILED(sq_newslot(v,-3,SQFalse))
\r
25 + throw "Failed to create new table slot for stream_method";
\r
29 - sq_newslot(v,-3,SQFalse);
\r
30 + if(SQ_FAILED(sq_newslot(v,-3,SQFalse))
\r
32 + throw "Failed to create new table slot for stream";
\r
34 sq_pushroottable(v);
\r
35 sq_pushstring(v,_SC("stream"),-1);
\r
36 sq_pushstring(v,_SC("std_stream"),-1);
\r
37 @@ -306,7 +316,10 @@ SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,c
38 sq_newslot(v,-3,SQFalse);
\r
41 - sq_newslot(v,-3,SQFalse);
\r
42 + if(SQ_FAILED(sq_newslot(v,-3,SQFalse))
\r
44 + throw "Failed to create new table slot"
\r
49 @@ -317,7 +330,10 @@ SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,c
50 sq_newclosure(v,f.f,0);
\r
51 sq_setparamscheck(v,f.nparamscheck,f.typemask);
\r
52 sq_setnativeclosurename(v,-1,f.name);
\r
53 - sq_newslot(v,-3,SQFalse);
\r
54 + if(SQ_FAILED(sq_newslot(v,-3,SQFalse))
\r
56 + throw "Failed to create new table slot for global";
\r
60 //register the class in the target table
\r
61 diff --git a/external/squirrel/sqstdlib/sqstdsystem.cpp b/external/squirrel/sqstdlib/sqstdsystem.cpp
62 index 40f78d7..b5359b6 100644
63 --- a/external/squirrel/sqstdlib/sqstdsystem.cpp
64 +++ b/external/squirrel/sqstdlib/sqstdsystem.cpp
65 @@ -140,7 +140,10 @@ SQInteger sqstd_register_systemlib(HSQUIRRELVM v)
66 sq_newclosure(v,systemlib_funcs[i].f,0);
\r
67 sq_setparamscheck(v,systemlib_funcs[i].nparamscheck,systemlib_funcs[i].typemask);
\r
68 sq_setnativeclosurename(v,-1,systemlib_funcs[i].name);
\r
69 - sq_newslot(v,-3,SQFalse);
\r
70 + if(SQ_FAILED(sq_newslot(v,-3,SQFalse))
\r
72 + // Could not create table slot
\r