From 72d2061ae2fa9a5fd45237943f9982baf59435ec Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sat, 13 Jun 2026 10:59:29 +0200 Subject: Fix corner case of os.time(). Thanks to Temir Galeev. #1470 --- src/lib_os.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib_os.c b/src/lib_os.c index 60b7b82d6..4715e64cd 100644 --- a/src/lib_os.c +++ b/src/lib_os.c @@ -237,9 +237,10 @@ LJLIB_CF(os_time) ts.tm_mon = (int)((unsigned int)getfield(L, "month", -1) - 1u); ts.tm_year = (int)((unsigned int)getfield(L, "year", -1) - 1900u); ts.tm_isdst = getboolfield(L, "isdst"); + errno = 0; t = mktime(&ts); } - if (t == (time_t)(-1)) + if (t == (time_t)(-1) && errno != 0) lua_pushnil(L); else lua_pushnumber(L, (lua_Number)t); -- cgit v1.2.3-55-g6feb