Adjust NyxExecutor trait bound to HasTargetBytes from HasBytesVec (#760)

* adjust NyxExecutor trait bound to HasTargetBytes from HasBytesVec

* oops actually use HasTargetBytes instead
This commit is contained in:
Teddy Heinen 2022-09-03 20:51:11 -04:00 committed by GitHub
parent bc96fc16bf
commit 47806df18b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,8 +1,9 @@
use std::{fmt::Debug, marker::PhantomData}; use std::{fmt::Debug, marker::PhantomData};
use libafl::{ use libafl::{
bolts::AsSlice,
executors::{Executor, ExitKind, HasObservers}, executors::{Executor, ExitKind, HasObservers},
inputs::{HasBytesVec, Input}, inputs::{HasTargetBytes, Input},
observers::ObserversTuple, observers::ObserversTuple,
Error, Error,
}; };
@ -30,7 +31,7 @@ impl<'a, I, S, OT> Debug for NyxExecutor<'a, I, S, OT> {
impl<'a, EM, I, S, Z, OT> Executor<EM, I, S, Z> for NyxExecutor<'a, I, S, OT> impl<'a, EM, I, S, Z, OT> Executor<EM, I, S, Z> for NyxExecutor<'a, I, S, OT>
where where
I: Input + HasBytesVec, I: Input + HasTargetBytes,
{ {
fn run_target( fn run_target(
&mut self, &mut self,
@ -39,7 +40,8 @@ where
_mgr: &mut EM, _mgr: &mut EM,
input: &I, input: &I,
) -> Result<libafl::executors::ExitKind, libafl::Error> { ) -> Result<libafl::executors::ExitKind, libafl::Error> {
let input = input.bytes(); let input_owned = input.target_bytes();
let input = input_owned.as_slice();
self.helper.nyx_process.set_input(input, input.len() as u32); self.helper.nyx_process.set_input(input, input.len() as u32);
// exec will take care of trace_bits, so no need to reset // exec will take care of trace_bits, so no need to reset