From b60bc7c3bf146d5a0587161bddd9d55db969eec7 Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 6 Apr 2022 19:16:35 +0300 Subject: [PATCH] disable realpath & mprotect for wasm --- src/utils/file.c | 4 ++++ src/vm.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/utils/file.c b/src/utils/file.c index 3c56bc61..f256119e 100644 --- a/src/utils/file.c +++ b/src/utils/file.c @@ -157,6 +157,9 @@ B path_name(B path) { } B path_abs(B path) { + #if WASM + return path; // lazy + #else if (q_N(path)) return path; u64 plen = utf8lenB(path); TALLOC(char, p, plen+1); @@ -169,6 +172,7 @@ B path_abs(B path) { dec(path); TFREE(p); return r; + #endif } diff --git a/src/vm.c b/src/vm.c index 85097c52..c2a6047c 100644 --- a/src/vm.c +++ b/src/vm.c @@ -978,7 +978,9 @@ static void allocStack(void** curr, void** start, void** end, i32 elSize, i32 co assert(sz%elSize == 0); *curr = *start = mmap(NULL, sz+ps, PROT_READ|PROT_WRITE, MAP_NORESERVE|MAP_PRIVATE|MAP_ANON, -1, 0); *end = ((char*)*start)+sz; + #if !WASM mprotect(*end, ps, PROT_NONE); // idk first way i found to force erroring on overflow + #endif } void print_vmStack() { #ifdef DEBUG_VM