aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-10-25 11:11:36 +0200
committerGitHub <noreply@github.com>2021-10-25 11:11:36 +0200
commit86409092a1bd15943dacb5704caadc91ba9c607d (patch)
tree27b7a2b046fa5a3e1442f6005abbc71a7c0a97d3 /frida_mode/src
parent695da56808b2843764eb4d262f9ef57fac2dbd1d (diff)
parent7407e2fb11675261173c625c3010ce9571a7d6f6 (diff)
downloadafl++-86409092a1bd15943dacb5704caadc91ba9c607d.tar.gz
Merge pull request #1129 from devnexen/frida_mode_musl_further
frida mode musl further changes display stack trace
Diffstat (limited to 'frida_mode/src')
-rw-r--r--frida_mode/src/seccomp/seccomp_callback.c16
-rw-r--r--frida_mode/src/seccomp/seccomp_filter.c2
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>