about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2022-01-18 21:16:25 +0100
committerGitHub <noreply@github.com>2022-01-18 21:16:25 +0100
commitbdec40ae5d91bec6540934e6b08732f87bb1c4d7 (patch)
treefc856afffaf2e1bb46e009b624c6478d053d7781
parent861bd5e04b5030b3fc345c1022c46e92eb52a312 (diff)
parent56ce081ac7a247b64e0ed77c0353d11fd279dc9f (diff)
downloadafl++-bdec40ae5d91bec6540934e6b08732f87bb1c4d7.tar.gz
Merge pull request #1295 from devnexen/afl_untracer_disable_aslr_fbsd
afl-untracer, disable ASLR on FreeBSD.
-rw-r--r--utils/afl_untracer/afl-untracer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/utils/afl_untracer/afl-untracer.c b/utils/afl_untracer/afl-untracer.c
index d2cb4bcf..fd4c3b8c 100644
--- a/utils/afl_untracer/afl-untracer.c
+++ b/utils/afl_untracer/afl-untracer.c
@@ -65,6 +65,7 @@
 #elif defined(__FreeBSD__)
   #include <sys/sysctl.h>
   #include <sys/user.h>
+  #include <sys/procctl.h>
 #else
   #error "Unsupported platform"
 #endif
@@ -685,6 +686,9 @@ int main(int argc, char *argv[]) {
 
 #if defined(__linux__)
   (void)personality(ADDR_NO_RANDOMIZE);  // disable ASLR
+#elif defined(__FreeBSD__) && __FreeBSD_version >= 1200000
+  int no_randomize = PROC_ASLR_FORCE_DISABLE;
+  (void)procctl(P_PID, 0, PROC_ASLR_CTL, &no_randomize);
 #endif
 
   pid = getpid();