From c662c34aaf279c9fedd5bee499c57d9986801538 Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Tue, 18 Feb 2014 10:21:12 +0100 Subject: more graceful handling of out-of-memory errors * raise an error instead of dereferencing a NULL pointer on deep userdata creation and lane struct creation --- src/tools.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/tools.c') diff --git a/src/tools.c b/src/tools.c index d149f9b..81ddf5c 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1074,7 +1074,10 @@ int luaG_newdeepuserdata( lua_State* L, luaG_IdFunction idfunc) { int oldtop = lua_gettop( L); prelude->deep = idfunc( L, eDO_new); - ASSERT_L( prelude->deep); + if( prelude->deep == NULL) + { + luaL_error( L, "idfunc(eDO_new) failed to create deep userdata (out of memory)"); + } if( lua_gettop( L) - oldtop != 0) { -- cgit v1.2.3-55-g6feb