mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-18 20:48:07 +00:00
better error report for old qemu/frida cmplog
This commit is contained in:
@ -47,6 +47,7 @@ typedef uint128_t u128;
|
||||
#define FS_ERROR_SHMAT 8
|
||||
#define FS_ERROR_MMAP 16
|
||||
#define FS_ERROR_OLD_CMPLOG 32
|
||||
#define FS_ERROR_OLD_CMPLOG_QEMU 64
|
||||
|
||||
/* Reporting options */
|
||||
#define FS_OPT_ENABLED 0x80000001
|
||||
|
@ -347,6 +347,11 @@ static void report_error_and_exit(int error) {
|
||||
"the -c cmplog target was instrumented with an too old afl++ "
|
||||
"version, you need to recompile it.");
|
||||
break;
|
||||
case FS_ERROR_OLD_CMPLOG_QEMU:
|
||||
FATAL(
|
||||
"The AFL++ QEMU/FRIDA loaders are from an older version, for -c you "
|
||||
"need to recompile it.\n");
|
||||
break;
|
||||
default:
|
||||
FATAL("unknown error code %d from fuzzing target!", error);
|
||||
|
||||
@ -670,7 +675,15 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
|
||||
|
||||
if ((status & FS_OPT_NEWCMPLOG) == 0 && fsrv->cmplog_binary) {
|
||||
|
||||
report_error_and_exit(FS_ERROR_OLD_CMPLOG);
|
||||
if (fsrv->qemu_mode || fsrv->frida_mode) {
|
||||
|
||||
report_error_and_exit(FS_ERROR_OLD_CMPLOG_QEMU);
|
||||
|
||||
} else {
|
||||
|
||||
report_error_and_exit(FS_ERROR_OLD_CMPLOG);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user