From: Chris Duncan Date: Sun, 16 Aug 2026 05:48:43 +0000 (-0700) Subject: Fix constant time zero check that was incorrect due to AssemblyScript shift operand... X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=a9b6007768d5806c35bca3d5c8c5956f6c0fdc67;p=nano25519.git Fix constant time zero check that was incorrect due to AssemblyScript shift operand masking. --- diff --git a/src/assembly/utils.ts b/src/assembly/utils.ts index dee20aa..13c5357 100644 --- a/src/assembly/utils.ts +++ b/src/assembly/utils.ts @@ -37,9 +37,10 @@ export function negative (b: i8): u8 { //@ts-expect-error @inline export function sodium_is_zero (n: StaticArray, nlen: i32): u8 { - let d: u8 = 0 + let d: i32 = 0 for (let i: i32 = 0; i < nlen; i++) { d |= n[i] } - return 1 & ((d - 1) >> 8) + d &= 255 + return u8(((d - 1) >> 8) & 1) }