From c4d0dc6a7c4be9230a9f811fbdd90e2fea9a5c57 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Thu, 14 Aug 2025 06:57:45 -0700 Subject: [PATCH] Keep loop variable lifetimes scoped to the loop to which they belong. --- src/lib/crypto/nano-nacl.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/lib/crypto/nano-nacl.ts b/src/lib/crypto/nano-nacl.ts index 0e86748..9a0a2ed 100644 --- a/src/lib/crypto/nano-nacl.ts +++ b/src/lib/crypto/nano-nacl.ts @@ -301,27 +301,27 @@ export class NanoNaCl { ]) static modL (r: Uint8Array, x: BigInt64Array): void { - let carry: bigint, i, j, k - for (i = 63; i >= 32; --i) { - carry = 0n - for (j = i - 32, k = i - 12; j < k; ++j) { - x[j] += carry - 16n * x[i] * this.L[j - (i - 32)] - carry = (x[j] + 128n) / 256n - x[j] -= carry * 256n + let c: bigint, v: bigint + for (let i = 63; i >= 32; --i) { + c = 0n + for (let j = i - 32, k = i - 12; j < k; j++) { + x[j] += c - 16n * x[i] * this.L[j - (i - 32)] + c = (x[j] + 128n) / 256n + x[j] -= c * 256n } - x[j] += carry + x[i - 12] += c x[i] = 0n } - carry = 0n - for (j = 0; j < 32; j++) { - x[j] += carry - (x[31] >> 4n) * this.L[j] - carry = x[j] >> 8n + c = 0n + for (let j = 0; j < 32; j++) { + x[j] += c - (x[31] >> 4n) * this.L[j] + c = x[j] >> 8n x[j] &= 255n } - for (j = 0; j < 32; j++) { - x[j] -= carry * this.L[j] + for (let j = 0; j < 32; j++) { + x[j] -= c * this.L[j] } - for (i = 0; i < 32; i++) { + for (let i = 0; i < 32; i++) { x[i + 1] += x[i] >> 8n r[i] = Number(x[i] & 255n) } -- 2.47.3