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_SHMAT 8
|
||||||
#define FS_ERROR_MMAP 16
|
#define FS_ERROR_MMAP 16
|
||||||
#define FS_ERROR_OLD_CMPLOG 32
|
#define FS_ERROR_OLD_CMPLOG 32
|
||||||
|
#define FS_ERROR_OLD_CMPLOG_QEMU 64
|
||||||
|
|
||||||
/* Reporting options */
|
/* Reporting options */
|
||||||
#define FS_OPT_ENABLED 0x80000001
|
#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++ "
|
"the -c cmplog target was instrumented with an too old afl++ "
|
||||||
"version, you need to recompile it.");
|
"version, you need to recompile it.");
|
||||||
break;
|
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:
|
default:
|
||||||
FATAL("unknown error code %d from fuzzing target!", error);
|
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) {
|
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