From 0f3f7b505271b225c9b1d2516ce7189a558a7e0e Mon Sep 17 00:00:00 2001 From: Martin Fouilleul Date: Wed, 13 Sep 2023 17:05:15 +0200 Subject: [PATCH] oc_runtime_clipboard_get_string() pushes to an arena, so to maintain oc_str8 conventions, we push an implicit null terminator after it --- src/runtime_clipboard.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/runtime_clipboard.c b/src/runtime_clipboard.c index 6a31ccf..a7906d3 100644 --- a/src/runtime_clipboard.c +++ b/src/runtime_clipboard.c @@ -17,9 +17,10 @@ oc_wasm_str8 oc_runtime_clipboard_get_string(oc_runtime_clipboard* clipboard, oc { oc_arena_scope scratch = oc_scratch_begin(); oc_str8 value = oc_clipboard_get_string(scratch.arena); - oc_wasm_addr valueAddr = oc_wasm_arena_push(wasmArena, value.len); - char* valuePtr = (char*)oc_wasm_address_to_ptr(valueAddr, value.len); + oc_wasm_addr valueAddr = oc_wasm_arena_push(wasmArena, value.len + 1); + char* valuePtr = (char*)oc_wasm_address_to_ptr(valueAddr, value.len + 1); memcpy(valuePtr, value.ptr, value.len); + valuePtr[value.len] = '\0'; oc_scratch_end(scratch); result = (oc_wasm_str8){ .ptr = valueAddr, .len = value.len };