From: ShadowNinja Date: Thu, 15 May 2014 23:09:47 +0000 (-0400) Subject: Make print() NUL-safe X-Git-Tag: 0.4.10~125 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=34d872628d5099ae520dd92433e211f561aaf611;p=oweals%2Fminetest.git Make print() NUL-safe --- diff --git a/src/script/lua_api/l_util.cpp b/src/script/lua_api/l_util.cpp index b30bab292..57db632c9 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;