]> git.codecow.com Git - nano25519.git/commitdiff
Reaquire WASM memory buffer before reading results, and investigate why memory is...
authorChris Duncan <chris@zoso.dev>
Sat, 7 Mar 2026 07:44:58 +0000 (23:44 -0800)
committerChris Duncan <chris@zoso.dev>
Sat, 7 Mar 2026 07:44:58 +0000 (23:44 -0800)
index.ts

index 25e2f563a6ce08fb960f78907645e37c00763eab..d571e7e9a1920e78f915b4cc4670477b87b83aae 100644 (file)
--- a/index.ts
+++ b/index.ts
@@ -83,6 +83,7 @@ const NanoNaCl = async (bytes: number[]): Promise<void> => {
                                exports.derive()
                                const outPtr = exports.getOutputPointer()
                                const pk = new Uint8Array(32)
+                               buffer = new DataView(memory.buffer)
                                for (let i = 0; i < 32; i++) {
                                        pk[i] = buffer.getUint8(outPtr + i)
                                }
@@ -104,6 +105,7 @@ const NanoNaCl = async (bytes: number[]): Promise<void> => {
                                exports.sign()
                                const outPtr = exports.getOutputPointer()
                                const s = new Uint8Array(64)
+                               buffer = new DataView(memory.buffer)
                                for (let i = 0; i < 64; i++) {
                                        s[i] = buffer.getUint8(outPtr + i)
                                }
@@ -112,7 +114,7 @@ const NanoNaCl = async (bytes: number[]): Promise<void> => {
                        }
 
                        verify = function (s: Uint8Array, h: Uint8Array, k: Uint8Array): Uint8Array<ArrayBuffer> {
-                               // assembly/nano-nacl/verify() => bool
+                               // assembly/nano-nacl/verify() => void
                                let buffer: DataView | undefined = new DataView(memory.buffer)
                                let inPtr = exports.getInputPointer()
                                for (let i = 0; i < 64; i++) {
@@ -129,6 +131,7 @@ const NanoNaCl = async (bytes: number[]): Promise<void> => {
                                exports.verify()
                                const outPtr = exports.getOutputPointer()
                                const v = new Uint8Array(1)
+                               buffer = new DataView(memory.buffer)
                                v[0] = buffer.getUint8(outPtr)
                                buffer = undefined
                                return v