瀏覽代碼

Add check for stack_min_addr in bound check with hardware trap (#1166)

Add return value check for os_thread_get_stack_boundary before touch_pages
in the initialization of memory access bound check with hardware trap.
Namhyeon, Go 3 年之前
父節點
當前提交
0993601d55
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      core/shared/platform/common/posix/posix_thread.c

+ 3 - 0
core/shared/platform/common/posix/posix_thread.c

@@ -411,6 +411,9 @@ init_stack_guard_pages()
     uint32 guard_page_count = STACK_OVERFLOW_CHECK_GUARD_PAGE_COUNT;
     uint32 guard_page_count = STACK_OVERFLOW_CHECK_GUARD_PAGE_COUNT;
     uint8 *stack_min_addr = os_thread_get_stack_boundary();
     uint8 *stack_min_addr = os_thread_get_stack_boundary();
 
 
+    if (stack_min_addr == NULL)
+        return false;
+
     /* Touch each stack page to ensure that it has been mapped: the OS
     /* Touch each stack page to ensure that it has been mapped: the OS
        may lazily grow the stack mapping as a guard page is hit. */
        may lazily grow the stack mapping as a guard page is hit. */
     (void)touch_pages(stack_min_addr, page_size);
     (void)touch_pages(stack_min_addr, page_size);