code format and debug

This commit is contained in:
van Hauser 2020-06-11 19:30:28 +02:00
parent b3fee6cab2
commit e8da5f9e28
6 changed files with 37 additions and 36 deletions

View File

@ -18,7 +18,7 @@ libAFLDriver.a: aflpp_driver.o
ar ru libAFLDriver.a aflpp_driver.o
debug:
$(LLVM_BINDIR)clang++ -D_DEBUG=\"1\" $(FLAGS) -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
$(LLVM_BINDIR)clang++ -I../../include -D_DEBUG=\"1\" $(FLAGS) -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
ar ru libAFLDriver.a aflpp_driver.o

View File

@ -54,6 +54,10 @@ If 1, close stdout at startup. If 2 close stderr; if 3 close both.
#include <iostream>
#include <vector>
#ifdef _DEBUG
#include "hash.h"
#endif
// Platform detection. Copied from FuzzerInternal.h
#ifdef __linux__
#define LIBFUZZER_LINUX 1
@ -273,7 +277,7 @@ int main(int argc, char **argv) {
int num_runs = 0;
while (__afl_persistent_loop(N)) {
#ifdef _DEBUG
fprintf(stderr, "len: %u\n", *__afl_fuzz_len);
fprintf(stderr, "CLIENT crc: %08x len: %u\n", hash32(__afl_fuzz_ptr, *__afl_fuzz_len, 0xa5b35705), *__afl_fuzz_len);
#endif
if (*__afl_fuzz_len) {
num_runs++;

View File

@ -837,8 +837,8 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
*fsrv->shmem_fuzz_len = len;
memcpy(fsrv->shmem_fuzz, buf, len);
// printf("test case len: %u [0]:0x%02x\n", *fsrv->shmem_fuzz_len, buf[0]);
// fflush(stdout);
// fprintf(stderr, "FS crc: %08x len: %u\n", hash32(fsrv->shmem_fuzz,
// *fsrv->shmem_fuzz_len, 0xa5b35705), *fsrv->shmem_fuzz_len);
} else {

View File

@ -38,7 +38,7 @@ void bind_to_free_cpu(afl_state_t *afl) {
#elif defined(__NetBSD__)
cpuset_t * c;
#elif defined(__sun)
psetid_t c;
psetid_t c;
#endif
u8 cpu_used[4096] = {0};
@ -185,10 +185,10 @@ void bind_to_free_cpu(afl_state_t *afl) {
ck_free(procs);
#elif defined(__sun)
kstat_named_t *n;
kstat_ctl_t *m;
kstat_t *k;
cpu_stat_t cs;
u32 ncpus;
kstat_ctl_t * m;
kstat_t * k;
cpu_stat_t cs;
u32 ncpus;
m = kstat_open();
@ -213,10 +213,9 @@ void bind_to_free_cpu(afl_state_t *afl) {
n = kstat_data_lookup(k, "ncpus");
ncpus = n->value.i32;
if (ncpus > sizeof(cpu_used))
ncpus = sizeof(cpu_used);
if (ncpus > sizeof(cpu_used)) ncpus = sizeof(cpu_used);
for (i = 0; i < ncpus; i ++) {
for (i = 0; i < ncpus; i++) {
k = kstat_lookup(m, "cpu_stat", i, NULL);
if (kstat_read(m, k, &cs)) {
@ -226,8 +225,7 @@ void bind_to_free_cpu(afl_state_t *afl) {
}
if (cs.cpu_sysinfo.cpu[CPU_IDLE] > 0)
continue;
if (cs.cpu_sysinfo.cpu[CPU_IDLE] > 0) continue;
if (cs.cpu_sysinfo.cpu[CPU_USER] > 0 || cs.cpu_sysinfo.cpu[CPU_KERNEL] > 0)
cpu_used[i] = 1;
@ -283,8 +281,8 @@ void bind_to_free_cpu(afl_state_t *afl) {
if (c == NULL) PFATAL("cpuset_create failed");
cpuset_set(i, c);
#elif defined(__sun)
pset_create(&c);
if (pset_assign(c, i, NULL)) PFATAL("pset_assign failed");
pset_create(&c);
if (pset_assign(c, i, NULL)) PFATAL("pset_assign failed");
#endif
#if defined(__linux__)
@ -316,31 +314,31 @@ void bind_to_free_cpu(afl_state_t *afl) {
}
#elif defined(__NetBSD__)
if (pthread_setaffinity_np(pthread_self(), cpuset_size(c), c)) {
if (pthread_setaffinity_np(pthread_self(), cpuset_size(c), c)) {
if (cpu_start == afl->cpu_core_count)
PFATAL("pthread_setaffinity failed for cpu %d, exit", i);
WARNF("pthread_setaffinity failed to CPU %d, trying next CPU", i);
cpu_start++;
goto try
if (cpu_start == afl->cpu_core_count)
PFATAL("pthread_setaffinity failed for cpu %d, exit", i);
WARNF("pthread_setaffinity failed to CPU %d, trying next CPU", i);
cpu_start++;
goto try
;
}
}
cpuset_destroy(c);
cpuset_destroy(c);
#elif defined(__sun)
if (pset_bind(c, P_PID, getpid(), NULL)) {
if (pset_bind(c, P_PID, getpid(), NULL)) {
if (cpu_start == afl->cpu_core_count)
PFATAL("pset_bind failed for cpu %d, exit", i);
WARNF("pthread_setaffinity failed to CPU %d, trying next CPU", i);
cpu_start++;
goto try
;
if (cpu_start == afl->cpu_core_count)
PFATAL("pset_bind failed for cpu %d, exit", i);
WARNF("pthread_setaffinity failed to CPU %d, trying next CPU", i);
cpu_start++;
goto try
;
}
}
pset_destroy(c);
pset_destroy(c);
#else
// this will need something for other platforms
// TODO: Solaris/Illumos has processor_bind ... might worth a try

View File

@ -125,7 +125,7 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
(unsigned long int)(rus.ru_maxrss >> 10),
#endif
#ifdef HAVE_AFFINITY
afl->cpu_aff,
afl->cpu_aff,
#else
-1,
#endif

View File

@ -204,8 +204,7 @@ int main(int argc, char **argv) {
#endif
#if defined(__sun)
if (pset_bind(c, P_PID, getpid(), NULL))
PFATAL("pset_bind failed");
if (pset_bind(c, P_PID, getpid(), NULL)) PFATAL("pset_bind failed");
pset_destroy(c);
#endif