diff --git a/libraries/wutstdc++/wut_gthread_thread.cpp b/libraries/wutstdc++/wut_gthread_thread.cpp index 5cc0c830..61404093 100644 --- a/libraries/wutstdc++/wut_gthread_thread.cpp +++ b/libraries/wutstdc++/wut_gthread_thread.cpp @@ -24,9 +24,16 @@ __wut_thread_create(OSThread **outThread, void *entryArgs) { OSThread *thread = (OSThread *)memalign(16, sizeof(OSThread)); - char *stack = (char *)memalign(16, __WUT_STACK_SIZE); + if (!thread) { + return ENOMEM; + } memset(thread, 0, sizeof(OSThread)); + char *stack = (char *)memalign(16, __WUT_STACK_SIZE); + if (!stack) { + return ENOMEM; + } + if (!OSCreateThread(thread, (OSThreadEntryPointFn)entryPoint, (int)entryArgs,