aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Holler (:decoder) <choller@mozilla.com>2024-03-06 10:19:52 +0100
committerChristian Holler (:decoder) <choller@mozilla.com>2024-03-06 10:19:52 +0100
commite46fac6063f7b0b6eca8e140b10c3a107deb0a0f (patch)
tree0b27892d84769b241f98e7aea8ed27adf3ce45b2
parent6062668679300af97248a59775cde45537601480 (diff)
downloadafl++-e46fac6063f7b0b6eca8e140b10c3a107deb0a0f.tar.gz
Fix delayed pcmap writing for code coverage with pc-table
-rw-r--r--instrumentation/afl-compiler-rt.o.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c
index aa58e8de..3e6348e9 100644
--- a/instrumentation/afl-compiler-rt.o.c
+++ b/instrumentation/afl-compiler-rt.o.c
@@ -1617,7 +1617,7 @@ void __sanitizer_cov_pcs_init(const uintptr_t *pcs_beg,
}
- if (pc_filter) {
+ if (pc_filter && !mod_info->next) {
char PcDescr[1024];
// This function is a part of the sanitizer run-time.
@@ -1644,7 +1644,7 @@ void __sanitizer_cov_pcs_init(const uintptr_t *pcs_beg,
}
- if (__afl_filter_pcs && strstr(mod_info->name, __afl_filter_pcs_module)) {
+ if (__afl_filter_pcs && !mod_info->next && strstr(mod_info->name, __afl_filter_pcs_module)) {
u32 result_index;
if (locate_in_pcs(PC, &result_index)) {
@@ -1669,7 +1669,11 @@ void __sanitizer_cov_pcs_init(const uintptr_t *pcs_beg,
}
- mod_info->mapped = 1;
+ if (__afl_pcmap_ptr) {
+
+ mod_info->mapped = 1;
+
+ }
if (__afl_debug) {