Fix return value not checked issue reported by Coverity (#1156)

Fix return value not checked issue in function init_wasm_timer,
reported by Coverity
This commit is contained in:
Xu Jun 2022-05-07 19:22:00 +08:00 committed by GitHub
parent ed512c6867
commit 474f081f56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 52 additions and 19 deletions

View File

@ -8,7 +8,7 @@
#include "runtime_timer.h" #include "runtime_timer.h"
void bool
init_wasm_timer(); init_wasm_timer();
void void
exit_wasm_timer(); exit_wasm_timer();

View File

@ -83,19 +83,36 @@ wakeup_modules_timer_thread(timer_ctx_t ctx)
os_mutex_unlock(&g_timer_ctx_list_mutex); os_mutex_unlock(&g_timer_ctx_list_mutex);
} }
void bool
init_wasm_timer() init_wasm_timer()
{ {
korp_tid tm_tid; korp_tid tm_tid;
bh_list_init(&g_timer_ctx_list); bh_list_init(&g_timer_ctx_list);
os_cond_init(&g_timer_ctx_list_cond); if (os_cond_init(&g_timer_ctx_list_cond) != 0) {
return false;
}
/* temp solution for: thread_modulers_timer_check thread /* temp solution for: thread_modulers_timer_check thread
would recursive lock the mutex */ would recursive lock the mutex */
os_recursive_mutex_init(&g_timer_ctx_list_mutex); if (os_recursive_mutex_init(&g_timer_ctx_list_mutex) != 0) {
goto fail1;
}
os_thread_create(&tm_tid, thread_modulers_timer_check, NULL, if (0
BH_APPLET_PRESERVED_STACK_SIZE); != os_thread_create(&tm_tid, thread_modulers_timer_check, NULL,
BH_APPLET_PRESERVED_STACK_SIZE)) {
goto fail2;
}
return true;
fail2:
os_mutex_destroy(&g_timer_ctx_list_mutex);
fail1:
os_cond_destroy(&g_timer_ctx_list_cond);
return false;
} }
void void

View File

@ -531,8 +531,10 @@ iwasm_main(int argc, char *argv[])
goto fail2; goto fail2;
} }
// timer manager /* timer manager */
init_wasm_timer(); if (!init_wasm_timer()) {
goto fail3;
}
#ifndef CONNECTION_UART #ifndef CONNECTION_UART
if (server_mode) if (server_mode)
@ -548,6 +550,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface); app_manager_startup(&interface);
exit_wasm_timer(); exit_wasm_timer();
fail3:
exit_sensor_framework(); exit_sensor_framework();
fail2: fail2:

View File

@ -177,12 +177,14 @@ iwasm_main()
wgl_init(); wgl_init();
hal_init(); hal_init();
// timer manager /* timer manager */
init_wasm_timer(); if (!init_wasm_timer()) {
goto fail;
}
// TODO:
app_manager_startup(&interface); app_manager_startup(&interface);
fail:
wasm_runtime_destroy(); wasm_runtime_destroy();
return -1; return -1;
} }

View File

@ -511,8 +511,10 @@ iwasm_main(int argc, char *argv[])
goto fail2; goto fail2;
} }
// timer manager /* timer manager */
init_wasm_timer(); if (!init_wasm_timer()) {
goto fail3;
}
#ifndef CONNECTION_UART #ifndef CONNECTION_UART
if (server_mode) if (server_mode)
@ -528,6 +530,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface); app_manager_startup(&interface);
exit_wasm_timer(); exit_wasm_timer();
fail3:
exit_sensor_framework(); exit_sensor_framework();
fail2: fail2:

View File

@ -118,12 +118,14 @@ iwasm_main()
display_init(); display_init();
// timer manager /* timer manager */
init_wasm_timer(); if (!init_wasm_timer()) {
goto fail;
}
// TODO:
app_manager_startup(&interface); app_manager_startup(&interface);
fail:
wasm_runtime_destroy(); wasm_runtime_destroy();
return -1; return -1;
} }

View File

@ -518,9 +518,6 @@ iwasm_main(int argc, char *argv[])
return -1; return -1;
} }
/* timer manager */
init_wasm_timer();
/* connection framework */ /* connection framework */
if (!init_connection_framework()) { if (!init_connection_framework()) {
goto fail1; goto fail1;
@ -531,6 +528,11 @@ iwasm_main(int argc, char *argv[])
goto fail2; goto fail2;
} }
/* timer manager */
if (!init_wasm_timer()) {
goto fail3;
}
/* add the sys sensor objects */ /* add the sys sensor objects */
add_sys_sensor("sensor_test1", "This is a sensor for test", 0, 1000, add_sys_sensor("sensor_test1", "This is a sensor for test", 0, 1000,
read_test_sensor, config_test_sensor); read_test_sensor, config_test_sensor);
@ -552,6 +554,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface); app_manager_startup(&interface);
exit_wasm_timer(); exit_wasm_timer();
fail3:
exit_sensor_framework(); exit_sensor_framework();
fail2: fail2: