@@ -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