Skip to content

Commit ce8441d

Browse files
committed
wasmtime: Fix wat to wasm compiling
Signed-off-by: Maximilian Hüter <[email protected]>
1 parent 2c8ff36 commit ce8441d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/libcrun/handlers/wasmtime.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,20 +60,23 @@ libwasmtime_exec (void *cookie, libcrun_container_t *container arg_unused,
6060
wasm_engine_t *(*wasm_engine_new) ();
6161
wasmtime_error_t *(*wasmtime_wat2wasm) (const char *wat, size_t wat_len, wasm_byte_vec_t *out);
6262
void (*wasm_byte_vec_new_uninitialized) (wasm_byte_vec_t *, size_t);
63+
void (*wasm_byte_vec_delete) (wasm_byte_vec_t *);
6364
wasmtime_error_t *(*wasmtime_module_validate) (wasm_engine_t *engine, const uint8_t *wasm, size_t wasm_len);
6465
void (*wasmtime_error_message) (const wasmtime_error_t *error, wasm_name_t *message);
6566
void (*wasmtime_error_delete) (wasmtime_error_t *error);
6667

6768
wasmtime_wat2wasm = dlsym (cookie, "wasmtime_wat2wasm");
6869
wasm_engine_new = dlsym (cookie, "wasm_engine_new");
6970
wasm_byte_vec_new_uninitialized = dlsym (cookie, "wasm_byte_vec_new_uninitialized");
71+
wasm_byte_vec_delete = dlsym (cookie, "wasm_byte_vec_delete");
7072
wasmtime_module_validate = dlsym (cookie, "wasmtime_module_validate");
7173
wasmtime_error_delete = dlsym (cookie, "wasmtime_error_delete");
7274
wasmtime_error_message = dlsym (cookie, "wasmtime_error_message");
7375

7476
if (wasmtime_wat2wasm == NULL
7577
|| wasm_engine_new == NULL
7678
|| wasm_byte_vec_new_uninitialized == NULL
79+
|| wasm_byte_vec_delete == NULL
7780
|| wasmtime_module_validate == NULL
7881
|| wasmtime_error_delete == NULL
7982
|| wasmtime_error_message == NULL)
@@ -101,13 +104,14 @@ libwasmtime_exec (void *cookie, libcrun_container_t *container arg_unused,
101104
// binary format.
102105
if (has_suffix (pathname, "wat") > 0)
103106
{
104-
wasmtime_error_t *err = wasmtime_wat2wasm ((char *) &wasm_bytes, file_size, &wasm);
107+
wasmtime_error_t *err = wasmtime_wat2wasm ((char *) wasm.data, file_size, &wasm_bytes);
105108
if (err != NULL)
106109
{
107110
wasmtime_error_message (err, &error_message);
108111
wasmtime_error_delete (err);
109112
error (EXIT_FAILURE, 0, "failed while compiling wat to wasm binary : %.*s", (int) error_message.size, error_message.data);
110113
}
114+
wasm_byte_vec_delete (&wasm);
111115
wasm = wasm_bytes;
112116
}
113117

0 commit comments

Comments
 (0)