diff options
Diffstat (limited to 'src/rt/rust_stack.h')
| -rw-r--r-- | src/rt/rust_stack.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rt/rust_stack.h b/src/rt/rust_stack.h index 34d4dda742d..5431d6ec2ff 100644 --- a/src/rt/rust_stack.h +++ b/src/rt/rust_stack.h @@ -17,7 +17,10 @@ template <class T> stk_seg * create_stack(T allocer, size_t sz) { size_t total_sz = sizeof(stk_seg) + sz; - return (stk_seg *)allocer->malloc(total_sz, "stack"); + stk_seg *stk = (stk_seg *)allocer->malloc(total_sz, "stack"); + memset(stk, 0, sizeof(stk_seg)); + stk->end = (uintptr_t) &stk->data[sz]; + return stk; } template <class T> |
