diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-06-09 16:12:01 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-06-09 16:12:01 -0300 |
| commit | 364e569945c044fd18c70ee1bc851364534aef97 (patch) | |
| tree | ad461207558d0452455a8180cf5d8b1e6e37d0be /ltests.c | |
| parent | 63295f1f7fa052fabcb4d69d49203cf33a7deef0 (diff) | |
| download | lua-github-364e569945c044fd18c70ee1bc851364534aef97.tar.gz | |
Avoid calling 'fprintf' with NULL
Avoid undefined behavior in calls like «fprintf("%s", NULL)».
('lua_writestringerror' is implemented as 'fprintf', and 'lua_tostring'
can return NULL if object is not a string.)
Diffstat (limited to 'ltests.c')
| -rw-r--r-- | ltests.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -73,8 +73,10 @@ static void badexit (const char *fmt, const char *s1, const char *s2) { static int tpanic (lua_State *L) { + const char *msg = lua_tostring(L, -1); + if (msg == NULL) msg = "error object is not a string"; return (badexit("PANIC: unprotected error in call to Lua API (%s)\n", - lua_tostring(L, -1), NULL), + msg, NULL), 0); /* do not return to Lua */ } |
