aboutsummaryrefslogtreecommitdiff
path: root/src/mpack/lmpack.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-12 14:33:34 +0100
committerGitHub <noreply@github.com>2024-02-12 14:33:34 +0100
commit210ec3b7a94c64263703087163a957567ddf4224 (patch)
tree55bd14afc2575a91d8f010b52b148626071f150a /src/mpack/lmpack.c
parent2d9e063a63f8af7eb9e8321c4845ec4f077ccf58 (diff)
parenta090d43d61b5de1add5624fc55e4a9dead5b7ece (diff)
downloadrneovim-210ec3b7a94c64263703087163a957567ddf4224.tar.gz
rneovim-210ec3b7a94c64263703087163a957567ddf4224.tar.bz2
rneovim-210ec3b7a94c64263703087163a957567ddf4224.zip
Merge pull request #27348 from fredizzimo/fsundvik/fix-ext-hlstate
fix: crashes with large msgpack messages
Diffstat (limited to 'src/mpack/lmpack.c')
-rw-r--r--src/mpack/lmpack.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mpack/lmpack.c b/src/mpack/lmpack.c
index ff21e29789..4ce4b5f3e5 100644
--- a/src/mpack/lmpack.c
+++ b/src/mpack/lmpack.c
@@ -882,7 +882,9 @@ static int lmpack_session_receive(lua_State *L)
luaL_argcheck(L, (size_t)startpos <= len, 3,
"start position must be less than or equal to the input string length");
- str += (size_t)startpos - 1;
+ size_t offset = (size_t)startpos - 1 ;
+ str += offset;
+ len -= offset;
if (session->unpacker != LUA_REFNIL) {
lmpack_geti(L, session->reg, session->unpacker);