Skip to content

Commit cd0c8be

Browse files
committed
mmm
1 parent 2be641c commit cd0c8be

File tree

7 files changed

+25
-13
lines changed

7 files changed

+25
-13
lines changed

fuzzers/structure_aware/nautilus_sync/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use libafl::{
1515
feedbacks::{CrashFeedback, MaxMapFeedback, NautilusChunksMetadata, NautilusFeedback},
1616
fuzzer::{Fuzzer, StdFuzzer},
1717
generators::{NautilusContext, NautilusGenerator},
18-
inputs::{NautilusInput, NautilusToBytesInputConverter},
18+
inputs::{NautilusBytesConverter, NautilusInput},
1919
monitors::SimpleMonitor,
2020
mutators::{
2121
HavocScheduledMutator, NautilusRandomMutator, NautilusRecursionMutator,
@@ -126,7 +126,7 @@ pub extern "C" fn libafl_main() {
126126
.build_on_port(
127127
shmem_provider.clone(),
128128
port,
129-
Some(NautilusToBytesInputConverter::new(&context)),
129+
Some(NautilusBytesConverter::new(&context)),
130130
none_input_converter!(),
131131
)
132132
.unwrap()

libafl/src/executors/forkserver.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use crate::observers::{
4141
AsanBacktraceObserver, get_asan_runtime_flags, get_asan_runtime_flags_with_log_path,
4242
};
4343
use crate::{
44-
Error, HasInputConverter,
44+
Error, HasBytesConverter,
4545
executors::{Executor, ExitKind, HasObservers},
4646
inputs::{Input, InputToBytes},
4747
mutators::Tokens,
@@ -1400,7 +1400,7 @@ where
14001400
OT: ObserversTuple<I, S>,
14011401
S: HasExecutions,
14021402
SHM: ShMem,
1403-
Z: HasInputConverter,
1403+
Z: HasBytesConverter,
14041404
Z::Converter: InputToBytes<I>,
14051405
{
14061406
#[inline]

libafl/src/fuzzer/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ pub trait HasObjective {
7979
}
8080

8181
/// Can convert input to another type
82-
pub trait HasInputConverter {
82+
pub trait HasBytesConverter {
8383
/// The converter itself
8484
type Converter;
8585
/// the input converter
@@ -1077,7 +1077,7 @@ impl<IC, IF> StdFuzzerBuilder<IC, IF> {
10771077
}
10781078
}
10791079

1080-
impl<CS, F, IC, IF, OF> HasInputConverter for StdFuzzer<CS, F, IC, IF, OF> {
1080+
impl<CS, F, IC, IF, OF> HasBytesConverter for StdFuzzer<CS, F, IC, IF, OF> {
10811081
type Converter = IC;
10821082

10831083
fn converter(&self) -> &Self::Converter {

libafl/src/inputs/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ impl ResizableMutator<u8> for &mut Vec<u8> {
299299
}
300300

301301
#[derive(Debug, Default)]
302-
/// Basic `InputConverter` with just one type that is not converting
302+
/// Basic `NopBytesConverter` with just one type that is not converting
303303
pub struct NopBytesConverter {}
304304

305305
impl<I> InputToBytes<I> for NopBytesConverter

libafl/src/inputs/nautilus.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ use core::{
88
use libafl_bolts::{HasLen, ownedref::OwnedSlice};
99
use serde::{Deserialize, Serialize};
1010

11+
use super::BytesInput;
1112
use crate::{
1213
common::nautilus::grammartec::{
1314
newtypes::NodeId,
1415
rule::RuleIdOrCustom,
1516
tree::{Tree, TreeLike},
1617
},
1718
generators::nautilus::NautilusContext,
18-
inputs::{Input, InputToBytes},
19+
inputs::{Input, InputConverter, InputToBytes},
1920
};
2021

2122
/// An [`Input`] implementation for `Nautilus` grammar.
@@ -95,20 +96,31 @@ impl Hash for NautilusInput {
9596
}
9697
}
9798

98-
/// `InputConverter` to convert from `NautilusInput` to `BytesInput`
99+
/// Convert from `NautilusInput` to `BytesInput`
99100
#[derive(Debug)]
100101
pub struct NautilusBytesConverter<'a> {
101102
ctx: &'a NautilusContext,
102103
}
103104

104105
impl<'a> NautilusBytesConverter<'a> {
105106
#[must_use]
106-
/// Create a new `NautilusToBytesInputConverter` from a context
107+
/// Create a new `NautilusBytesConverter` from a context
107108
pub fn new(ctx: &'a NautilusContext) -> Self {
108109
Self { ctx }
109110
}
110111
}
111112

113+
impl InputConverter for NautilusBytesConverter<'_> {
114+
type From = NautilusInput;
115+
type To = BytesInput;
116+
117+
fn convert(&mut self, input: Self::From) -> Result<Self::To, libafl_bolts::Error> {
118+
let mut bytes = vec![];
119+
input.unparse(self.ctx, &mut bytes);
120+
Ok(BytesInput::new(bytes))
121+
}
122+
}
123+
112124
impl InputToBytes<NautilusInput> for NautilusBytesConverter<'_> {
113125
fn to_bytes<'a>(&mut self, input: &'a NautilusInput) -> OwnedSlice<'a, u8> {
114126
let mut bytes = vec![];

libafl_frida/src/executor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use frida_gum::{
1515
#[cfg(windows)]
1616
use libafl::executors::{hooks::inprocess::InProcessHooks, inprocess::HasInProcessHooks};
1717
use libafl::{
18-
Error, HasInputConverter,
18+
Error, HasBytesConverter,
1919
executors::{Executor, ExitKind, HasObservers, InProcessExecutor},
2020
inputs::{Input, InputToBytes},
2121
observers::ObserversTuple,
@@ -63,7 +63,7 @@ where
6363
S: HasExecutions + HasCurrentTestcase<I> + HasSolutions<I>,
6464
OT: ObserversTuple<I, S>,
6565
RT: FridaRuntimeTuple,
66-
Z: HasInputConverter,
66+
Z: HasBytesConverter,
6767
Z::Converter: InputToBytes<I>,
6868
{
6969
/// Instruct the target about the input and run

libafl_intelpt/src/linux.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ fn linux_version() -> Result<(usize, usize, usize), ()> {
903903
domainname: [0; 65],
904904
};
905905

906-
if unsafe { libc::uname(&mut uname_data) } != 0 {
906+
if unsafe { libc::uname(&raw mut uname_data) } != 0 {
907907
return Err(());
908908
}
909909

0 commit comments

Comments
 (0)