@@ -60,20 +60,23 @@ libwasmtime_exec (void *cookie, libcrun_container_t *container arg_unused,
60
60
wasm_engine_t * (* wasm_engine_new ) ();
61
61
wasmtime_error_t * (* wasmtime_wat2wasm ) (const char * wat , size_t wat_len , wasm_byte_vec_t * out );
62
62
void (* wasm_byte_vec_new_uninitialized ) (wasm_byte_vec_t * , size_t );
63
+ void (* wasm_byte_vec_delete ) (wasm_byte_vec_t * );
63
64
wasmtime_error_t * (* wasmtime_module_validate ) (wasm_engine_t * engine , const uint8_t * wasm , size_t wasm_len );
64
65
void (* wasmtime_error_message ) (const wasmtime_error_t * error , wasm_name_t * message );
65
66
void (* wasmtime_error_delete ) (wasmtime_error_t * error );
66
67
67
68
wasmtime_wat2wasm = dlsym (cookie , "wasmtime_wat2wasm" );
68
69
wasm_engine_new = dlsym (cookie , "wasm_engine_new" );
69
70
wasm_byte_vec_new_uninitialized = dlsym (cookie , "wasm_byte_vec_new_uninitialized" );
71
+ wasm_byte_vec_delete = dlsym (cookie , "wasm_byte_vec_delete" );
70
72
wasmtime_module_validate = dlsym (cookie , "wasmtime_module_validate" );
71
73
wasmtime_error_delete = dlsym (cookie , "wasmtime_error_delete" );
72
74
wasmtime_error_message = dlsym (cookie , "wasmtime_error_message" );
73
75
74
76
if (wasmtime_wat2wasm == NULL
75
77
|| wasm_engine_new == NULL
76
78
|| wasm_byte_vec_new_uninitialized == NULL
79
+ || wasm_byte_vec_delete == NULL
77
80
|| wasmtime_module_validate == NULL
78
81
|| wasmtime_error_delete == NULL
79
82
|| wasmtime_error_message == NULL )
@@ -101,13 +104,14 @@ libwasmtime_exec (void *cookie, libcrun_container_t *container arg_unused,
101
104
// binary format.
102
105
if (has_suffix (pathname , "wat" ) > 0 )
103
106
{
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 );
105
108
if (err != NULL )
106
109
{
107
110
wasmtime_error_message (err , & error_message );
108
111
wasmtime_error_delete (err );
109
112
error (EXIT_FAILURE , 0 , "failed while compiling wat to wasm binary : %.*s" , (int ) error_message .size , error_message .data );
110
113
}
114
+ wasm_byte_vec_delete (& wasm );
111
115
wasm = wasm_bytes ;
112
116
}
113
117
0 commit comments