Inspect errno only after failure Index: lua-5.4.6/src/lauxlib.c =================================================================== --- lua-5.4.6.orig/src/lauxlib.c +++ lua-5.4.6/src/lauxlib.c @@ -283,7 +283,7 @@ LUALIB_API int luaL_fileresult (lua_Stat LUALIB_API int luaL_execresult (lua_State *L, int stat) { - if (stat != 0 && errno != 0) /* error with an 'errno'? */ + if (stat == -1) /* error with an 'errno'? */ return luaL_fileresult(L, 0, NULL); else { const char *what = "exit"; /* type of termination */