MmapShMem::new
andMmapShMemProvider::new_shmem_with_id
now takeAsRef<Path>
instead of a byte array for the filename/id.- The closure passed to a
DumpToDiskStage
now provides theTestcase
instead of just theInput
. StatsStage
is deleted, and it is superceded byAflStatsStage
- Renamed and changed mapping mutators to take borrows directly instead of
MappedInput
s. Seebaby_fuzzer_custom_input
for example usage- Related:
MutVecInput
is deprecated in favor of directly using&mut Vec<u8>
- Related:
MappedInputFunctionMappingMutator
andToMappedInputFunctionMappingMutatorMapper
have been removed as now duplicates ofMappingMutator
(previouslyFunctionMappingMutator
) andToMappingMutator
(previouslyToFunctionMappingMutatorMapper
) - Related:
ToOptionMappingMutatorMapper
andToFunctionMappingMutatorMapper
have been renamed toToOptionalMutator
andToMappingMutator
respectively
- Related:
Qemu
cannot be used to initializeEmulator
directly anymore. Instead,Qemu
should be initialized throughEmulator
systematically ifEmulator
should be used.- Related:
EmulatorBuilder
uses a single function to provide aQemu
initializer:EmulatorBuilder::qemu_parameters
. For now, it can be either aVec<String>
or aQemuConfig
instance. - Related: Qemu's
AsanModule
does not need any special call toQemu
init methods anymore. It is now possible to simply initializeAsanModule
(orAsanGuestModule
) with a reference to the environment as parameter. CustomBufHandlers
has been deleted. Please useEventManagerHooksTuple
from now on.
- Related:
- Trait restrictions have been simplified
- The
UsesState
andUsesInput
traits have been removed in favor of regular Generics. - For the structs/traits that used to use
UsesState
, we bring back the generic for the state. - For
UsesState
, you can access to the input type throughHasCorpus
andCorpus
traits - The
State
trait is now private in favour of individual and more specific traits
- The
- Restrictions from certain schedulers and stages that required their inner observer to implement
MapObserver
have been lifted in favor of requiringHash
- Related: removed
hash_simple
fromMapObserver
- Related: removed
- Removed
with_observers
fromExecutor
trait. MmapShMemProvider::new_shmem_persistent
has been removed in favour ofMmapShMem::persist
. You probably want to do something like this:let shmem = MmapShMemProvider::new()?.new_shmem(size)?.persist()?;