Skip to content

Commit d435ea2

Browse files
authored
Document maximum input length (#146)
1 parent 97b9ba2 commit d435ea2

File tree

12 files changed

+98
-10
lines changed

12 files changed

+98
-10
lines changed

bin/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 0.3.8-git
4+
5+
### Patch
6+
7+
- Update `data-encoding` version
8+
39
## 0.3.7
410

511
### Patch

bin/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "data-encoding-bin"
3-
version = "0.3.7"
3+
version = "0.3.8-git"
44
authors = ["Julien Cretin <[email protected]>"]
55
license = "MIT"
66
edition = "2021"
@@ -17,5 +17,5 @@ name = "data-encoding"
1717
path = "src/main.rs"
1818

1919
[dependencies]
20-
data-encoding = { version = "2.9.0", path = "../lib" }
20+
data-encoding = { version = "2.10.0-git", path = "../lib" }
2121
getopts = "0.2"

lib/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 2.10.0-git
4+
5+
### Minor
6+
7+
- Document maximum input length for `Encoding::{decode,encode}_len()` (fixes #145)
8+
- Add `Encoding::encode_align()` to decide where to split long inputs
9+
310
## 2.9.0
411

512
### Minor

lib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "data-encoding"
3-
version = "2.9.0"
3+
version = "2.10.0-git"
44
authors = ["Julien Cretin <[email protected]>"]
55
license = "MIT"
66
edition = "2018"

lib/fuzz/Cargo.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ libfuzzer-sys = "0.4.3"
2121
name = "fuzz_any_spec"
2222
path = "fuzz_targets/fuzz_any_spec.rs"
2323

24+
[[bin]]
25+
name = "impl_encode_len"
26+
path = "fuzz_targets/impl_encode_len.rs"
27+
28+
[[bin]]
29+
name = "impl_decode_len"
30+
path = "fuzz_targets/impl_decode_len.rs"
31+
2432
[[bin]]
2533
name = "impl_encode"
2634
path = "fuzz_targets/impl_encode.rs"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
template.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
template.rs

lib/fuzz/run.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
#!/bin/sh
22

3-
N="$(cargo fuzz list | wc -l)"
3+
LIST="$*"
4+
[ -n "$LIST" ] || LIST=$(echo $(cargo fuzz list))
5+
list() { for x in $LIST; do echo $x; done; }
6+
7+
N="$(list | wc -l)"
48
i=1
5-
next() { cargo fuzz list | head -n$i | tail -n1; }
9+
next() { list | head -n$i | tail -n1; }
610
while cargo fuzz run "$(next)" -- -max_total_time=600; do
711
i=$(( i % N + 1 ))
812
done

lib/fuzz/src/cmd.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ pub fn execute(target: &str, mut input: &[u8]) -> Output {
4040
let input = gen::rev_spec(&spec);
4141
assert_eq!(gen::spec(&mut input.as_slice()).encoding().unwrap(), base);
4242
}
43+
"impl_encode_len" => {
44+
let (_, base) = gen_spec_base(&mut input, &mut output);
45+
let _ = base.encode_len(usize::MAX / 512);
46+
}
47+
"impl_decode_len" => {
48+
let (_, base) = gen_spec_base(&mut input, &mut output);
49+
let _ = base.decode_len(usize::MAX / 8);
50+
}
4351
"impl_encode" => {
4452
let (spec, base) = gen_spec_base(&mut input, &mut output);
4553
assert_eq!(base.encode(input), spec::encode(&spec, input));

lib/macro/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "data-encoding-macro"
3-
version = "0.1.18"
3+
version = "0.1.19-git"
44
authors = ["Julien Cretin <[email protected]>"]
55
license = "MIT"
66
edition = "2018"
@@ -14,5 +14,5 @@ description = "Macros for data-encoding"
1414
include = ["Cargo.toml", "LICENSE", "README.md", "src/lib.rs"]
1515

1616
[dependencies]
17-
data-encoding = { version = "2.9.0", path = "..", default-features = false }
18-
data-encoding-macro-internal = { version = "0.1.16", path = "internal" }
17+
data-encoding = { version = "2.10.0-git", path = "..", default-features = false }
18+
data-encoding-macro-internal = { version = "0.1.17-git", path = "internal" }

0 commit comments

Comments
 (0)