diff options
| author | benarcher2691 <ben.archer2691@gmail.com> | 2026-03-21 22:07:33 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-21 17:07:33 -0400 |
| commit | 2069be281c723a8a8607d395dbfabd9cd30f4b15 (patch) | |
| tree | a6095335d005a84950eccc46eca6b11c43d9bd0d /runtime/lua/vim/provider/python.lua | |
| parent | 4d3a67cd620152d11ab9b5f5bdd973f84cc2d44b (diff) | |
fix(mpack): boundary values for negative integer encoding #37255
Problem:
libmpack encodes boundary values -129 and -32769 with wrong integer
sizes:
- -129 as int8 instead of int16
- -32769 as int16 instead of int32
because the boundary checks compare against the wrong values (e.g., lo
< 0xffffff7f instead of lo < 0xffffff80). This caused data corruption:
-129 would decode as 127.
Solution:
Fix off-by-one errors in the two's complement boundary constants:
0xffffff80 (-128, min int8) and 0xffff8000 (-32768, min int16).
Fixes #37202
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions
