Skip to content

Commit 604a3ca

Browse files
fix fuzzers
1 parent 0996b81 commit 604a3ca

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

fuzz/fuzzers/roundtrip_no_pad.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
#![no_main]
2-
#[macro_use] extern crate libfuzzer_sys;
2+
#[macro_use]
3+
extern crate libfuzzer_sys;
34
extern crate base64;
45

56
use base64::engine::fast_portable;
67

78
fuzz_target!(|data: &[u8]| {
8-
let config = fast_portable::FastPortableConfig::new().with_encode_padding(false);
9+
let config = fast_portable::FastPortableConfig::new()
10+
.with_encode_padding(false)
11+
.with_decode_padding_mode(fast_portable::DecodePaddingMode::RequireNone);
912
let engine = fast_portable::FastPortable::from(&base64::alphabet::STANDARD, config);
1013

1114
let encoded = base64::encode_engine(&data, &engine);

fuzz/fuzzers/utils.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,16 @@ pub fn random_engine(data: &[u8]) -> fast_portable::FastPortable {
2222
alphabet::STANDARD
2323
};
2424

25+
let encode_padding = rng.gen();
26+
let decode_padding = if encode_padding {
27+
fast_portable::DecodePaddingMode::RequireCanonical
28+
} else {
29+
fast_portable::DecodePaddingMode::RequireNone
30+
};
2531
let config = fast_portable::FastPortableConfig::new()
26-
.with_encode_padding(rng.gen())
27-
.with_decode_allow_trailing_bits(rng.gen());
32+
.with_encode_padding(encode_padding)
33+
.with_decode_allow_trailing_bits(rng.gen())
34+
.with_decode_padding_mode(decode_padding);
2835

2936
fast_portable::FastPortable::from(&alphabet, config)
3037
}

0 commit comments

Comments
 (0)