From 19db4e9b7c5e19398286adb4d953a4874cc39ae0 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 19 Aug 2024 16:11:36 +0200 Subject: [PATCH] Fix potential file descriptor leak in luaL_loadfile*(). Reported by Assumeru. #1249 --- src/lj_load.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_load.c b/src/lj_load.c index dab037b4..d92bd1b4 100644 --- a/src/lj_load.c +++ b/src/lj_load.c @@ -88,12 +88,13 @@ LUALIB_API int luaL_loadfilex(lua_State *L, const char *filename, int status; const char *chunkname; if (filename) { + chunkname = lua_pushfstring(L, "@%s", filename); ctx.fp = fopen(filename, "rb"); if (ctx.fp == NULL) { + L->top--; lua_pushfstring(L, "cannot open %s: %s", filename, strerror(errno)); return LUA_ERRFILE; } - chunkname = lua_pushfstring(L, "@%s", filename); } else { ctx.fp = stdin; chunkname = "=stdin";