builtin: Fix `print` crashing on nil "holes".
authorDiego Martinez <kaeza@users.sf.net>
Thu, 4 Feb 2016 12:58:44 +0000 (09:58 -0300)
committerest31 <MTest31@outlook.com>
Mon, 8 Feb 2016 00:55:02 +0000 (01:55 +0100)
commit430195381d8d7254a7b8cdcf6b50769c2c598329
tree85ec4954e87f407c38670ce37df2dd53c7ea9f64
parent16c70087711db38ac40a428c64623355b8e7691b
builtin: Fix `print` crashing on nil "holes".

The engine implementation of `print` packs the varargs into a
table and passes the table directly to `table.concat`. If you
pass any value not supported by `table.concat` (particularly
`nil`), the server crashes. This is unexpected behavior, as
`print` is supposed to be able to work with anything.

This patch changes the implementation so it first converts
all arguments using `tostring`, which fixes the issue and
makes the custom `print` function compatible with the stock
Lua behavior.
builtin/init.lua