From: ShadowNinja Date: Thu, 15 May 2014 23:09:47 +0000 (-0400) Subject: Make print() NUL-safe X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=34d872628d5099ae520dd92433e211f561aaf611;p=zefram%2Fminetest%2Fminetest_engine.git Make print() NUL-safe --- diff --git a/src/script/lua_api/l_util.cpp b/src/script/lua_api/l_util.cpp index b30bab29..57db632c 100644 --- a/src/script/lua_api/l_util.cpp +++ b/src/script/lua_api/l_util.cpp @@ -47,11 +47,12 @@ int ModApiUtil::l_debug(lua_State *L) lua_pushvalue(L, -1); /* function to be called */ lua_pushvalue(L, i); /* value to print */ lua_call(L, 1, 1); - const char *s = lua_tostring(L, -1); - if (i>1) + size_t len; + const char *s = lua_tolstring(L, -1, &len); + if (i > 1) dstream << "\t"; if (s) - dstream << s; + dstream << std::string(s, len); lua_pop(L, 1); } dstream << std::endl;