From 4adfd44d9f9882fd2b6a600607972bc50431b2b7 Mon Sep 17 00:00:00 2001 From: Guldoman Date: Wed, 29 Nov 2023 02:07:33 +0100 Subject: [PATCH] Limit `system.{sleep,wait_event}` to timeouts >= 0 (#1666) Otherwise we might wait forever by mistake. --- src/api/system.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/api/system.c b/src/api/system.c index 9e3fb5ab..1682f382 100644 --- a/src/api/system.c +++ b/src/api/system.c @@ -371,6 +371,7 @@ static int f_wait_event(lua_State *L) { int nargs = lua_gettop(L); if (nargs >= 1) { double n = luaL_checknumber(L, 1); + if (n < 0) n = 0; lua_pushboolean(L, SDL_WaitEventTimeout(NULL, n * 1000)); } else { lua_pushboolean(L, SDL_WaitEvent(NULL)); @@ -846,6 +847,7 @@ static int f_get_time(lua_State *L) { static int f_sleep(lua_State *L) { double n = luaL_checknumber(L, 1); + if (n < 0) n = 0; SDL_Delay(n * 1000); return 0; }