From 1c8d77a2210f8d8f0c51e2fe7898f0a78c17f0d3 Mon Sep 17 00:00:00 2001 From: Bilal2453 Date: Sat, 31 Aug 2024 03:50:21 +0300 Subject: [PATCH] lminiz: return nil on deflate/inflate failure --- src/lminiz.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lminiz.c b/src/lminiz.c index fb471dbe..be7d0b5c 100644 --- a/src/lminiz.c +++ b/src/lminiz.c @@ -340,6 +340,11 @@ static int ltinfl(lua_State* L) { size_t out_len; int flags = luaL_optinteger(L, 2, 0); char* out_buf = tinfl_decompress_mem_to_heap(in_buf, in_len, &out_len, flags); + if (!out_buf) { + lua_pushnil(L); + lua_pushstring(L, "Problem inflating data into memory"); + return 2; + } lua_pushlstring(L, out_buf, out_len); free(out_buf); return 1; @@ -351,6 +356,11 @@ static int ltdefl(lua_State* L) { size_t out_len; int flags = luaL_optinteger(L, 2, 0); char* out_buf = tdefl_compress_mem_to_heap(in_buf, in_len, &out_len, flags); + if (!out_buf) { + lua_pushnil(L); + lua_pushstring(L, "Problem deflating data into memory"); + return 2; + } lua_pushlstring(L, out_buf, out_len); free(out_buf); return 1;