aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/provider/python.lua
diff options
context:
space:
mode:
authorSuliman Abdulrazzaq <144490671+SulimanAbdulrazzaq@users.noreply.github.com>2026-09-29 16:53:17 +0300
committerGitHub <noreply@github.com>2026-09-29 09:53:17 -0400
commit4f0bac7bd6c2218273347257a157d9f5048ffdb4 (patch)
treeee56907530218ba40513ec3ba05ba1f8be64db94 /runtime/lua/vim/provider/python.lua
parent66881af488df8dbfc1cf3851dae65132bc286719 (diff)
downloadrneovim-4f0bac7bd6c2218273347257a157d9f5048ffdb4.tar.gz
rneovim-4f0bac7bd6c2218273347257a157d9f5048ffdb4.tar.bz2
rneovim-4f0bac7bd6c2218273347257a157d9f5048ffdb4.zip
fix(mpack): wrong encoding of integers beyond the int32 range #42085
Problem: vim.mpack.encode() picks the msgpack size of a negative integer from its low 32 bits only, so -(2^32 + 5) is written as a negative fixint and decodes as -5. Numbers beyond +-2^53 trip an assertion in debug builds. In release builds, numbers below -2^63 or from 2^64 up go through out-of-range conversions: -1.5 * 2^63 decodes as 2^62. Solution: Use int64 whenever the high word is not a sign extension. Encode numbers outside [-2^63, 2^64), including NaN and infinities, as floats. AI-assisted
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions