diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2021-03-24 13:41:57 +0800 |
---|---|---|
committer | Moritz Angermann <moritz.angermann@gmail.com> | 2021-03-30 00:48:06 -0400 |
commit | 84eb6b3328c47fb83bbc9d1fa3ec78f8703b6e02 (patch) | |
tree | 3d8266dc1493caca08c03f12f5e98941b036cb5b | |
parent | 971ac952b373740254915fac041522e606596a20 (diff) | |
download | haskell-84eb6b3328c47fb83bbc9d1fa3ec78f8703b6e02.tar.gz |
[linker] no munmap if either agument is invalid.
(cherry picked from commit 608f74a2235a2e545fb9b80a80ceb5ee448ef8e5)
-rw-r--r-- | rts/linker/MachO.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/rts/linker/MachO.c b/rts/linker/MachO.c index f301f0a340..cdafcb1c89 100644 --- a/rts/linker/MachO.c +++ b/rts/linker/MachO.c @@ -462,7 +462,10 @@ makeGot(ObjectCode * oc) { void freeGot(ObjectCode * oc) { - munmapForLinker(oc->info->got_start, oc->info->got_size, "freeGot"); + /* sanity check */ + if(NULL != oc->info->got_start && oc->info->got_size > 0) { + munmapForLinker(oc->info->got_start, oc->info->got_size, "freeGot"); + } oc->info->got_start = NULL; oc->info->got_size = 0; } |