diff options
author | van Hauser <vh@thc.org> | 2021-10-25 11:11:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-25 11:11:36 +0200 |
commit | 86409092a1bd15943dacb5704caadc91ba9c607d (patch) | |
tree | 27b7a2b046fa5a3e1442f6005abbc71a7c0a97d3 | |
parent | 695da56808b2843764eb4d262f9ef57fac2dbd1d (diff) | |
parent | 7407e2fb11675261173c625c3010ce9571a7d6f6 (diff) | |
download | afl++-86409092a1bd15943dacb5704caadc91ba9c607d.tar.gz |
Merge pull request #1129 from devnexen/frida_mode_musl_further
frida mode musl further changes display stack trace
-rw-r--r-- | frida_mode/src/seccomp/seccomp_callback.c | 16 | ||||
-rw-r--r-- | frida_mode/src/seccomp/seccomp_filter.c | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/frida_mode/src/seccomp/seccomp_callback.c b/frida_mode/src/seccomp/seccomp_callback.c index bc488489..4232d842 100644 --- a/frida_mode/src/seccomp/seccomp_callback.c +++ b/frida_mode/src/seccomp/seccomp_callback.c @@ -52,6 +52,22 @@ static void seccomp_callback_filter(struct seccomp_notif * req, } free(syms); +#else + void **syms = (void **)__builtin_frame_address(0); + void *framep = __builtin_frame_address(1); + int i = 0; + + syms = framep; + while (syms) { + + framep = *syms; + syms = framep; + + if (!syms) break; + + seccomp_print("\%3d. %s\n", i ++, (char *)framep); + + } #endif resp->error = 0; diff --git a/frida_mode/src/seccomp/seccomp_filter.c b/frida_mode/src/seccomp/seccomp_filter.c index 8d56c367..7ee5ead1 100644 --- a/frida_mode/src/seccomp/seccomp_filter.c +++ b/frida_mode/src/seccomp/seccomp_filter.c @@ -2,7 +2,9 @@ #include <alloca.h> #include <errno.h> +#if !defined(__MUSL__) #include <execinfo.h> +#endif #include <linux/filter.h> #include <sys/ioctl.h> #include <sys/prctl.h> |