summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Whitaker <pi.boy.travis@gmail.com>2021-11-09 13:46:23 -0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-11-12 21:24:29 -0500
commitdd1be88bbf1cb4da5256e39406d68c052cc83712 (patch)
tree52d51f2b75edd2743cf8de73fa8009fbdbc7972e
parent4499db7dd63c31bff5f934e1461648eea0fdddd0 (diff)
downloadhaskell-dd1be88bbf1cb4da5256e39406d68c052cc83712.tar.gz
mmapForLinkerMarkExecutable: do nothing when len = 0
-rw-r--r--rts/Linker.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index 9c1852d91c..1b3caa0a47 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1086,6 +1086,9 @@ void
mmapForLinkerMarkExecutable(void *start, size_t len)
{
DWORD old;
+ if (len == 0) {
+ return;
+ }
if (VirtualProtect(start, len, PAGE_EXECUTE_READ, &old) == 0) {
sysErrorBelch("mmapForLinkerMarkExecutable: failed to protect %zd bytes at %p",
len, start);
@@ -1257,6 +1260,9 @@ void munmapForLinker (void *addr, size_t bytes, const char *caller)
*/
void mmapForLinkerMarkExecutable(void *start, size_t len)
{
+ if (len == 0) {
+ return;
+ }
IF_DEBUG(linker,
debugBelch("mmapForLinkerMarkExecutable: protecting %" FMT_Word
" bytes starting at %p\n", (W_)len, start));