aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/base64.c
diff options
context:
space:
mode:
authorGregory Anders <8965202+gpanders@users.noreply.github.com>2024-04-15 11:06:54 -0500
committerGitHub <noreply@github.com>2024-04-15 11:06:54 -0500
commit533e01a75b71e93686e7bc9c79fe0172ca876d91 (patch)
tree9a48a36c05a8e4b301d00a011262cdef0eb48404 /src/nvim/lua/base64.c
parent57adf8c6e01d9395eb52fe03571c535571efdc4b (diff)
downloadrneovim-533e01a75b71e93686e7bc9c79fe0172ca876d91.tar.gz
rneovim-533e01a75b71e93686e7bc9c79fe0172ca876d91.tar.bz2
rneovim-533e01a75b71e93686e7bc9c79fe0172ca876d91.zip
fix(base64): properly handle embedded NULLs when decoding (#28349)
Diffstat (limited to 'src/nvim/lua/base64.c')
-rw-r--r--src/nvim/lua/base64.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/lua/base64.c b/src/nvim/lua/base64.c
index c1f43a37d7..8fe918493a 100644
--- a/src/nvim/lua/base64.c
+++ b/src/nvim/lua/base64.c
@@ -45,12 +45,13 @@ static int nlua_base64_decode(lua_State *L)
size_t src_len = 0;
const char *src = lua_tolstring(L, 1, &src_len);
- const char *ret = base64_decode(src, src_len);
+ size_t out_len = 0;
+ const char *ret = base64_decode(src, src_len, &out_len);
if (ret == NULL) {
return luaL_error(L, "Invalid input");
}
- lua_pushstring(L, ret);
+ lua_pushlstring(L, ret, out_len);
xfree((void *)ret);
return 1;