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. Input
is now only accessible through generic.Input
associated types have been definitely removed.HasCorpus
bound has been removed in many places it was unused before.StdMutationalStage::transforming
must now explicitly state the Inputs types. As a result,StdMutationalStage::transforming
must be writtenStdMutationalStage::<_, _, FirstInputType, SecondInputType, _, _, _>::transforming
.- 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()?;