Skip to content

Commit a5ffd65

Browse files
authored
Fix wasm-c-api trap message format issue (#644)
And fix two compile warnings.
1 parent af79338 commit a5ffd65

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

core/iwasm/aot/aot_runtime.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2300,7 +2300,7 @@ invoke_wasm_c_api_native(AOTModuleInstance *module_inst, void *func_ptr,
23002300
}
23012301
if (trap) {
23022302
if (trap->message->data) {
2303-
snprintf(fmt, sizeof(fmt), "%%%us", (uint32)trap->message->size);
2303+
snprintf(fmt, sizeof(fmt), "%%.%us", (uint32)trap->message->size);
23042304
snprintf(module_inst->cur_exception,
23052305
sizeof(module_inst->cur_exception),
23062306
fmt, trap->message->data);

core/iwasm/common/wasm_runtime_common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ wasm_runtime_destroy_thread_env()
835835
{
836836
#if WASM_ENABLE_AOT != 0
837837
#ifdef OS_ENABLE_HW_BOUND_CHECK
838-
return aot_signal_destroy();
838+
aot_signal_destroy();
839839
#endif
840840
#endif
841841
}

core/shared/platform/windows/win_thread.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ os_thread_cleanup(void *retval)
141141
BH_FREE(thread_data);
142142
}
143143

144-
static unsigned
144+
static unsigned __stdcall
145145
os_thread_wrapper(void *arg)
146146
{
147147
os_thread_data *thread_data = arg;

samples/wasm-c-api/src/trap.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ int main(int argc, const char* argv[]) {
9292

9393
// Call.
9494
for (int i = 0; i < 2; ++i) {
95+
char buf[32];
9596
const wasm_func_t* func = wasm_extern_as_func(exports.data[i]);
9697
if (func == NULL) {
9798
printf("> Error accessing export!\n");
@@ -109,7 +110,8 @@ int main(int argc, const char* argv[]) {
109110
printf("Printing message...\n");
110111
own wasm_name_t message;
111112
wasm_trap_message(trap, &message);
112-
printf("> %s\n", message.data);
113+
snprintf(buf, sizeof(buf), "> %%.%us\n", (unsigned)message.size);
114+
printf(buf, message.data);
113115

114116
wasm_trap_delete(trap);
115117
wasm_name_delete(&message);

0 commit comments

Comments
 (0)