From 8d7e23cfbbca6d19c4cb80fc482a6cf9ab0e5bfd Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Sun, 28 Dec 2025 17:27:09 -0800 Subject: [PATCH] fix: writeUintSafe32 encodes wrong bytes for values > 16383 --- src/codec/uint.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codec/uint.ts b/src/codec/uint.ts index 6090824..9da7852 100644 --- a/src/codec/uint.ts +++ b/src/codec/uint.ts @@ -104,7 +104,7 @@ export function writeUintSafe32(bc: ByteCursor, x: number): void { // this is useful when assertions are skipped let zigZag = x >>> 0 while (zigZag >= 0x80) { - writeU8(bc, 0x80 | (x & 0x7f)) + writeU8(bc, 0x80 | (zigZag & 0x7f)) zigZag >>>= 7 } writeU8(bc, zigZag)