mirror of
https://github.com/fluencelabs/assemblyscript-sdk
synced 2025-04-24 14:22:14 +00:00
fix memory leak
This commit is contained in:
parent
e6bfbccd61
commit
8cc66eb911
@ -22,7 +22,10 @@ export function readRequestBytes(ptr: i32, size: i32): Uint8Array {
|
||||
*/
|
||||
export function readRequestString(ptr: i32, size: i32): string {
|
||||
let bb = readRequestBytes(ptr, size);
|
||||
return String.fromUTF8(bb.buffer.data, bb.length);
|
||||
let request = String.fromUTF8(bb.buffer.data, bb.length);
|
||||
memory.free(changetype<usize>(bb.buffer));
|
||||
memory.free(changetype<usize>(bb));
|
||||
return request
|
||||
}
|
||||
|
||||
/**
|
||||
@ -75,7 +78,6 @@ export function writeResponseString(response: string): i32 {
|
||||
store<u8>(strAddr + i, b);
|
||||
}
|
||||
|
||||
memory.free(changetype<usize>(response));
|
||||
return addr;
|
||||
}
|
||||
|
||||
@ -92,6 +94,7 @@ export function stringHandler(ptr: i32, size: i32, handler: (request: string) =>
|
||||
let responseAddr = writeResponseString(response);
|
||||
memory.free(ptr);
|
||||
memory.free(changetype<usize>(strRequest));
|
||||
memory.free(changetype<usize>(response));
|
||||
|
||||
return responseAddr;
|
||||
}
|
||||
@ -113,6 +116,8 @@ export function loggedStringHandler(ptr: i32, size: i32, handler: (request: stri
|
||||
|
||||
log("Response: " + response);
|
||||
|
||||
memory.free(changetype<usize>(response));
|
||||
|
||||
return responseAddr;
|
||||
}
|
||||
|
||||
|
@ -9,5 +9,7 @@ export function log(message: string): void {
|
||||
let b: u8 = messageStr.charCodeAt(i) as u8;
|
||||
write(b);
|
||||
}
|
||||
memory.free(changetype<usize>(message));
|
||||
memory.free(changetype<usize>(messageStr));
|
||||
flush();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user