diff src/modules/thread/wrap_Channel.cpp @ 1413:f6ff61fc266f

Added argument type checking to Channel:push (nil now errors instead of crashing)
author Alex Szpakowski <slime73@gmail.com>
date Sat, 30 Mar 2013 14:42:09 -0300
parents ee1448bb9680
children
line wrap: on
line diff
--- a/src/modules/thread/wrap_Channel.cpp	Sat Mar 30 04:45:21 2013 -0300
+++ b/src/modules/thread/wrap_Channel.cpp	Sat Mar 30 14:42:09 2013 -0300
@@ -47,6 +47,8 @@
 {
 	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 @@
 {
 	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;