From f0860a488d1afba40e7cdf86b4663e648a576739 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Sat, 30 Mar 2013 14:42:09 -0300 Subject: [PATCH] Added argument type checking to Channel:push (nil now errors instead of crashing) --- src/modules/thread/wrap_Channel.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/thread/wrap_Channel.cpp b/src/modules/thread/wrap_Channel.cpp index a7c6434cf..bedaf6456 100644 --- a/src/modules/thread/wrap_Channel.cpp +++ b/src/modules/thread/wrap_Channel.cpp @@ -47,6 +47,8 @@ int w_Channel_push(lua_State *L) { Channel *c = luax_checkchannel(L, 1); Variant *var = Variant::fromLua(L, 2); + if (!var) + return luaL_argerror(L, 2, "boolean, number, string, or love userdata expected"); c->push(var); releaseVariant(c, var); return 0; @@ -56,6 +58,8 @@ int w_Channel_supply(lua_State *L) { Channel *c = luax_checkchannel(L, 1); Variant *var = Variant::fromLua(L, 2); + if (!var) + return luaL_argerror(L, 2, "boolean, number, string, or love userdata expected"); c->supply(var); releaseVariant(c, var); return 0;