From b98534c1128b72db04b30a5e76a08b0243c1da06 Mon Sep 17 00:00:00 2001 From: Hayden Date: Fri, 7 Apr 2017 21:51:56 -0700 Subject: [PATCH] fuzzing with dvyukov/go-fuzz --- .gitignore | 3 ++- Makefile | 8 ++++++++ Procfile | 6 ++++++ lib/common/fuzz/Dockerfile | 13 ++++++++++++ .../1ef624482d620e43e6d34da1afe46267fc695d9b | Bin 0 -> 3 bytes .../3949ab99dd419690fafea153a4ab82956ec2e9f5 | Bin 0 -> 3 bytes .../3c7aeead1d941b685fe0958b19485f8e00c43d34 | Bin 0 -> 3 bytes ...4cd0872139f7cae988acfce9a24e17a4c96897b6-1 | Bin 0 -> 10 bytes .../5ba93c9db0cff93f52b521d7420e43f6eda2784f | Bin 0 -> 1 bytes .../70b8bc8d904b1a29a6877833e647c543fa5e5679 | Bin 0 -> 3 bytes .../9842926af7ca0a8cca12604f945414f07b01e13d | 1 + ...a7b38a4d7e82ebf894b495ebeb0f94d6b73b2669-1 | Bin 0 -> 3 bytes .../da39a3ee5e6b4b0d3255bfef95601890afd80709 | 0 .../fuzz/certificate/corpus/test-input-1 | Bin 0 -> 3 bytes .../fuzz/certificate/corpus/test-input-10 | Bin 0 -> 2 bytes .../fuzz/certificate/corpus/test-input-2 | Bin 0 -> 5 bytes .../fuzz/certificate/corpus/test-input-3 | 1 + .../fuzz/certificate/corpus/test-input-4 | Bin 0 -> 4 bytes .../fuzz/certificate/corpus/test-input-5 | Bin 0 -> 4 bytes .../fuzz/certificate/corpus/test-input-6 | Bin 0 -> 7 bytes .../fuzz/certificate/corpus/test-input-7 | Bin 0 -> 5 bytes .../fuzz/certificate/corpus/test-input-8 | Bin 0 -> 4 bytes .../fuzz/certificate/corpus/test-input-9 | Bin 0 -> 6 bytes lib/common/fuzz/certificate/fuzz.go | 11 ++++++++++ .../3832fe54a60281d245d8a17b992629bad4b5a6a9 | Bin 0 -> 67 bytes .../3f29546453678b855931c174a97d6c0894b8f546 | Bin 0 -> 2 bytes .../6d7aaa7d2bcca4a8758b398ab7617839203c828a | Bin 0 -> 255 bytes ...9438e360f578e12c0e0e8ed28e2c125c1cefee16-1 | Bin 0 -> 56 bytes ...46859acd63346200860afb148cb447e293c2837c-1 | Bin 0 -> 391 bytes .../5ff31659ca03d5508285399652243143042abb20 | Bin 0 -> 387 bytes .../6729889dd49c146eebb2fd69ab0560ab8c049c4b | Bin 0 -> 387 bytes .../8dc00598417d4eb788a77ac6ccef3cb484905d8b | 1 + .../93436ea60c5dcdd2e9893a025f560ab72422ae8c | Bin 0 -> 101 bytes .../destination/corpus/corpus/test-input-1 | Bin 0 -> 5 bytes .../destination/corpus/corpus/test-input-128 | Bin 0 -> 256 bytes .../corpus/corpus/test-input-128-1 | Bin 0 -> 261 bytes .../corpus/corpus/test-input-128-2 | Bin 0 -> 263 bytes .../corpus/corpus/test-input-128-3 | Bin 0 -> 259 bytes .../destination/corpus/corpus/test-input-2 | Bin 0 -> 7 bytes .../destination/corpus/corpus/test-input-256 | Bin 0 -> 512 bytes .../corpus/corpus/test-input-256-1 | Bin 0 -> 517 bytes .../corpus/corpus/test-input-256-2 | Bin 0 -> 519 bytes .../corpus/corpus/test-input-256-3 | Bin 0 -> 515 bytes .../destination/corpus/corpus/test-input-3 | Bin 0 -> 3 bytes .../da39a3ee5e6b4b0d3255bfef95601890afd80709 | 0 .../destination/corpus/test-input-128-256-1 | Bin 0 -> 773 bytes .../destination/corpus/test-input-128-256-2 | Bin 0 -> 775 bytes .../destination/corpus/test-input-128-256-3 | Bin 0 -> 771 bytes lib/common/fuzz/destination/fuzz.go | 10 +++++++++ ...46859acd63346200860afb148cb447e293c2837c-1 | Bin 0 -> 391 bytes .../5ff31659ca03d5508285399652243143042abb20 | Bin 0 -> 387 bytes .../6729889dd49c146eebb2fd69ab0560ab8c049c4b | Bin 0 -> 387 bytes .../8dc00598417d4eb788a77ac6ccef3cb484905d8b | 1 + .../93436ea60c5dcdd2e9893a025f560ab72422ae8c | Bin 0 -> 101 bytes .../fuzz/keys_and_cert/corpus/test-input-1 | Bin 0 -> 5 bytes .../fuzz/keys_and_cert/corpus/test-input-128 | Bin 0 -> 256 bytes .../keys_and_cert/corpus/test-input-128-1 | Bin 0 -> 261 bytes .../keys_and_cert/corpus/test-input-128-2 | Bin 0 -> 263 bytes .../keys_and_cert/corpus/test-input-128-256-1 | Bin 0 -> 773 bytes .../keys_and_cert/corpus/test-input-128-256-2 | Bin 0 -> 775 bytes .../keys_and_cert/corpus/test-input-128-256-3 | Bin 0 -> 771 bytes .../keys_and_cert/corpus/test-input-128-3 | Bin 0 -> 259 bytes .../fuzz/keys_and_cert/corpus/test-input-2 | Bin 0 -> 7 bytes .../fuzz/keys_and_cert/corpus/test-input-256 | Bin 0 -> 512 bytes .../keys_and_cert/corpus/test-input-256-1 | Bin 0 -> 517 bytes .../keys_and_cert/corpus/test-input-256-2 | Bin 0 -> 519 bytes .../keys_and_cert/corpus/test-input-256-3 | Bin 0 -> 515 bytes .../fuzz/keys_and_cert/corpus/test-input-3 | Bin 0 -> 3 bytes lib/common/fuzz/keys_and_cert/fuzz.go | 11 ++++++++++ ...1678dbe0543c53f9e3af28c39781fc1f36e68923-1 | Bin 0 -> 19 bytes ...22175c4387d13a74890127402ab1725f38bdce0e-2 | Bin 0 -> 26 bytes ...4991cc8dad31a281a092d8361fd92afb2998e754-2 | 1 + ...55616cbe045999832bb6ca0214fecb816373d1c9-3 | Bin 0 -> 23 bytes .../9ade6778af8612b7408d3ad1a0c6da8f05b826f0 | Bin 0 -> 10 bytes ...da39a3ee5e6b4b0d3255bfef95601890afd80709-1 | 0 ...e7ef37d13413f3f141570e94730907951210dd5e-1 | Bin 0 -> 10 bytes .../fuzz/router_address/corpus/test-input-1 | Bin 0 -> 11 bytes .../fuzz/router_address/corpus/test-input-2 | Bin 0 -> 11 bytes .../0be2a4bbfac7e360f904dc1ec602b5c2e77cf0ba | Bin 0 -> 12 bytes ...4bbfac7e360f904dc1ec602b5c2e77cf0ba.output | 19 ++++++++++++++++++ ...4bbfac7e360f904dc1ec602b5c2e77cf0ba.quoted | 1 + lib/common/fuzz/router_address/fuzz.go | 12 +++++++++++ .../964db7dc97cc5a9baca60d7c30bb4f8bdb5d207c | 6 ++++++ .../fuzz/router_identity/corpus/test-input-1 | Bin 0 -> 775 bytes .../router_identity/corpus/test-input-128 | Bin 0 -> 256 bytes .../fuzz/router_identity/corpus/test-input-2 | Bin 0 -> 786 bytes .../fuzz/router_identity/corpus/test-input-3 | Bin 0 -> 787 bytes lib/common/fuzz/router_identity/fuzz.go | 11 ++++++++++ .../ac9231da4082430afe8f4d40127814c613648d8e | 1 + .../bf8b4530d8d246dd74ac53a13471bba17941dff7 | 1 + lib/common/fuzz/string/corpus/test-input-1 | Bin 0 -> 3 bytes lib/common/fuzz/string/corpus/test-input-128 | Bin 0 -> 256 bytes lib/common/fuzz/string/corpus/test-input-2 | Bin 0 -> 3 bytes lib/common/fuzz/string/corpus/test-input-3 | Bin 0 -> 3 bytes lib/common/fuzz/string/corpus/test-input-4 | 1 + lib/common/fuzz/string/corpus/test-input-5 | 1 + lib/common/fuzz/string/corpus/test-input-6 | 1 + lib/common/fuzz/string/fuzz.go | 13 ++++++++++++ 98 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 Procfile create mode 100644 lib/common/fuzz/Dockerfile create mode 100644 lib/common/fuzz/certificate/corpus/1ef624482d620e43e6d34da1afe46267fc695d9b create mode 100644 lib/common/fuzz/certificate/corpus/3949ab99dd419690fafea153a4ab82956ec2e9f5 create mode 100644 lib/common/fuzz/certificate/corpus/3c7aeead1d941b685fe0958b19485f8e00c43d34 create mode 100644 lib/common/fuzz/certificate/corpus/4cd0872139f7cae988acfce9a24e17a4c96897b6-1 create mode 100644 lib/common/fuzz/certificate/corpus/5ba93c9db0cff93f52b521d7420e43f6eda2784f create mode 100644 lib/common/fuzz/certificate/corpus/70b8bc8d904b1a29a6877833e647c543fa5e5679 create mode 100644 lib/common/fuzz/certificate/corpus/9842926af7ca0a8cca12604f945414f07b01e13d create mode 100644 lib/common/fuzz/certificate/corpus/a7b38a4d7e82ebf894b495ebeb0f94d6b73b2669-1 create mode 100644 lib/common/fuzz/certificate/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-1 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-10 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-2 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-3 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-4 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-5 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-6 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-7 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-8 create mode 100644 lib/common/fuzz/certificate/corpus/test-input-9 create mode 100644 lib/common/fuzz/certificate/fuzz.go create mode 100644 lib/common/fuzz/destination/corpus/3832fe54a60281d245d8a17b992629bad4b5a6a9 create mode 100644 lib/common/fuzz/destination/corpus/3f29546453678b855931c174a97d6c0894b8f546 create mode 100644 lib/common/fuzz/destination/corpus/6d7aaa7d2bcca4a8758b398ab7617839203c828a create mode 100644 lib/common/fuzz/destination/corpus/9438e360f578e12c0e0e8ed28e2c125c1cefee16-1 create mode 100644 lib/common/fuzz/destination/corpus/corpus/46859acd63346200860afb148cb447e293c2837c-1 create mode 100644 lib/common/fuzz/destination/corpus/corpus/5ff31659ca03d5508285399652243143042abb20 create mode 100644 lib/common/fuzz/destination/corpus/corpus/6729889dd49c146eebb2fd69ab0560ab8c049c4b create mode 100644 lib/common/fuzz/destination/corpus/corpus/8dc00598417d4eb788a77ac6ccef3cb484905d8b create mode 100644 lib/common/fuzz/destination/corpus/corpus/93436ea60c5dcdd2e9893a025f560ab72422ae8c create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-1 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-128 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-128-1 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-128-2 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-128-3 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-2 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-256 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-256-1 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-256-2 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-256-3 create mode 100644 lib/common/fuzz/destination/corpus/corpus/test-input-3 create mode 100644 lib/common/fuzz/destination/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709 create mode 100644 lib/common/fuzz/destination/corpus/test-input-128-256-1 create mode 100644 lib/common/fuzz/destination/corpus/test-input-128-256-2 create mode 100644 lib/common/fuzz/destination/corpus/test-input-128-256-3 create mode 100644 lib/common/fuzz/destination/fuzz.go create mode 100644 lib/common/fuzz/keys_and_cert/corpus/46859acd63346200860afb148cb447e293c2837c-1 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/5ff31659ca03d5508285399652243143042abb20 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/6729889dd49c146eebb2fd69ab0560ab8c049c4b create mode 100644 lib/common/fuzz/keys_and_cert/corpus/8dc00598417d4eb788a77ac6ccef3cb484905d8b create mode 100644 lib/common/fuzz/keys_and_cert/corpus/93436ea60c5dcdd2e9893a025f560ab72422ae8c create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-1 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-1 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-2 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-1 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-2 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-3 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-128-3 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-2 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-256 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-256-1 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-256-2 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-256-3 create mode 100644 lib/common/fuzz/keys_and_cert/corpus/test-input-3 create mode 100644 lib/common/fuzz/keys_and_cert/fuzz.go create mode 100644 lib/common/fuzz/router_address/corpus/1678dbe0543c53f9e3af28c39781fc1f36e68923-1 create mode 100644 lib/common/fuzz/router_address/corpus/22175c4387d13a74890127402ab1725f38bdce0e-2 create mode 100644 lib/common/fuzz/router_address/corpus/4991cc8dad31a281a092d8361fd92afb2998e754-2 create mode 100644 lib/common/fuzz/router_address/corpus/55616cbe045999832bb6ca0214fecb816373d1c9-3 create mode 100644 lib/common/fuzz/router_address/corpus/9ade6778af8612b7408d3ad1a0c6da8f05b826f0 create mode 100644 lib/common/fuzz/router_address/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709-1 create mode 100644 lib/common/fuzz/router_address/corpus/e7ef37d13413f3f141570e94730907951210dd5e-1 create mode 100644 lib/common/fuzz/router_address/corpus/test-input-1 create mode 100644 lib/common/fuzz/router_address/corpus/test-input-2 create mode 100644 lib/common/fuzz/router_address/crashers/0be2a4bbfac7e360f904dc1ec602b5c2e77cf0ba create mode 100644 lib/common/fuzz/router_address/crashers/0be2a4bbfac7e360f904dc1ec602b5c2e77cf0ba.output create mode 100644 lib/common/fuzz/router_address/crashers/0be2a4bbfac7e360f904dc1ec602b5c2e77cf0ba.quoted create mode 100644 lib/common/fuzz/router_address/fuzz.go create mode 100644 lib/common/fuzz/router_address/suppressions/964db7dc97cc5a9baca60d7c30bb4f8bdb5d207c create mode 100644 lib/common/fuzz/router_identity/corpus/test-input-1 create mode 100644 lib/common/fuzz/router_identity/corpus/test-input-128 create mode 100644 lib/common/fuzz/router_identity/corpus/test-input-2 create mode 100644 lib/common/fuzz/router_identity/corpus/test-input-3 create mode 100644 lib/common/fuzz/router_identity/fuzz.go create mode 100644 lib/common/fuzz/string/corpus/ac9231da4082430afe8f4d40127814c613648d8e create mode 100644 lib/common/fuzz/string/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 create mode 100644 lib/common/fuzz/string/corpus/test-input-1 create mode 100644 lib/common/fuzz/string/corpus/test-input-128 create mode 100644 lib/common/fuzz/string/corpus/test-input-2 create mode 100644 lib/common/fuzz/string/corpus/test-input-3 create mode 100644 lib/common/fuzz/string/corpus/test-input-4 create mode 100644 lib/common/fuzz/string/corpus/test-input-5 create mode 100644 lib/common/fuzz/string/corpus/test-input-6 create mode 100644 lib/common/fuzz/string/fuzz.go diff --git a/.gitignore b/.gitignore index 935946b..30521a8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ .\#* .*.sw? *.coverprofile -go-i2p \ No newline at end of file +*exportable-fuzz.zip +go-i2p diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3f9f709 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +fuzz: + go-fuzz-build -o lib/common/fuzz/keys_and_cert/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/keys_and_cert + go-fuzz-build -o lib/common/fuzz/certificate/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/certificate + go-fuzz-build -o lib/common/fuzz/destination/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/destination + go-fuzz-build -o lib/common/fuzz/router_address/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/router_address + go-fuzz-build -o lib/common/fuzz/router_identity/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/router_identity + go-fuzz-build -o lib/common/fuzz/string/exportable-fuzz.zip github.com/hkparker/go-i2p/lib/common/fuzz/string + forego start diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..8662ccc --- /dev/null +++ b/Procfile @@ -0,0 +1,6 @@ +keys_and_cert: go-fuzz -bin=lib/common/fuzz/keys_and_cert/exportable-fuzz.zip -workdir=lib/common/fuzz/keys_and_cert -procs=1 +certificate: go-fuzz -bin=lib/common/fuzz/certificate/exportable-fuzz.zip -workdir=lib/common/fuzz/certificate -procs=1 +destination: go-fuzz -bin=lib/common/fuzz/destination/exportable-fuzz.zip -workdir=lib/common/fuzz/destination -procs=1 +router_address: go-fuzz -bin=lib/common/fuzz/router_address/exportable-fuzz.zip -workdir=lib/common/fuzz/router_address -procs=1 +router_identity: go-fuzz -bin=lib/common/fuzz/router_identity/exportable-fuzz.zip -workdir=lib/common/fuzz/router_identity -procs=1 +string: go-fuzz -bin=lib/common/fuzz/string/exportable-fuzz.zip -workdir=lib/common/fuzz/string -procs=1 diff --git a/lib/common/fuzz/Dockerfile b/lib/common/fuzz/Dockerfile new file mode 100644 index 0000000..846fbe3 --- /dev/null +++ b/lib/common/fuzz/Dockerfile @@ -0,0 +1,13 @@ +FROM golang + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install libsodium-dev -y + +RUN go get github.com/dvyukov/go-fuzz/go-fuzz +RUN go get github.com/dvyukov/go-fuzz/go-fuzz-build +RUN go get github.com/hkparker/go-i2p + +WORKDIR /go/src/github.com/hkparker/go-i2p + +ENTRYPOINT ["make", "fuzz"] diff --git a/lib/common/fuzz/certificate/corpus/1ef624482d620e43e6d34da1afe46267fc695d9b b/lib/common/fuzz/certificate/corpus/1ef624482d620e43e6d34da1afe46267fc695d9b new file mode 100644 index 0000000000000000000000000000000000000000..6b255e199ffa08f5c22e91b08b5b7fcd014c4b51 GIT binary patch literal 3 KcmZQzU;+RD1pos8 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/certificate/corpus/3949ab99dd419690fafea153a4ab82956ec2e9f5 b/lib/common/fuzz/certificate/corpus/3949ab99dd419690fafea153a4ab82956ec2e9f5 new file mode 100644 index 0000000000000000000000000000000000000000..c0adf65d9513ded560aee398678b6bfc99b248b9 GIT binary patch literal 3 KcmZQz`VRmB1_1&9 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/certificate/corpus/3c7aeead1d941b685fe0958b19485f8e00c43d34 b/lib/common/fuzz/certificate/corpus/3c7aeead1d941b685fe0958b19485f8e00c43d34 new file mode 100644 index 0000000000000000000000000000000000000000..046f393ee9d8a6a0754b8ddadce727b4ce35f272 GIT binary patch literal 3 KcmZSh&j-0RR92 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-128-1 b/lib/common/fuzz/destination/corpus/corpus/test-input-128-1 new file mode 100644 index 0000000000000000000000000000000000000000..dc2e4b24336d5f610f5f57c86fdd6222a5339f3a GIT binary patch literal 261 QcmZQz7}!N? literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-128-3 b/lib/common/fuzz/destination/corpus/corpus/test-input-128-3 new file mode 100644 index 0000000000000000000000000000000000000000..d0061d5f8763fcd89f2046ed2c476dfc3bf07f39 GIT binary patch literal 259 LcmZQz81VoA0RsR5 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-2 b/lib/common/fuzz/destination/corpus/corpus/test-input-2 new file mode 100644 index 0000000000000000000000000000000000000000..e5d5a249337382f8f1027a5a95a0716764f9ed9a GIT binary patch literal 7 OcmZQ&U}0cnU;qFBK>!N? literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-256 b/lib/common/fuzz/destination/corpus/corpus/test-input-256 new file mode 100644 index 0000000000000000000000000000000000000000..a64a5a93fb4aef4d5f63d79cb2582731b9ac5063 GIT binary patch literal 512 NcmZQz7zHCa1ONg600961 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-256-1 b/lib/common/fuzz/destination/corpus/corpus/test-input-256-1 new file mode 100644 index 0000000000000000000000000000000000000000..ba6613ce468a986267ab27ff7c1bd2280f03cd14 GIT binary patch literal 517 ScmZQz7zHCa1XvkZ7#INpD*y`s literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-256-2 b/lib/common/fuzz/destination/corpus/corpus/test-input-256-2 new file mode 100644 index 0000000000000000000000000000000000000000..bc4b52722b53495eeab9614a3c54c6f37a62547d GIT binary patch literal 519 UcmZQz7zHCa1XvkZ7#JBC00Kb(3jhEB literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-256-3 b/lib/common/fuzz/destination/corpus/corpus/test-input-256-3 new file mode 100644 index 0000000000000000000000000000000000000000..98323f2f8d73276d5d7bdc09bffff65fd259b5cb GIT binary patch literal 515 NcmZQz7zHCd1ONg900961 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/corpus/test-input-3 b/lib/common/fuzz/destination/corpus/corpus/test-input-3 new file mode 100644 index 0000000000000000000000000000000000000000..4227ca4e8736af63036e7457e2db376ddf7e5795 GIT binary patch literal 3 KcmZQzU;qFB0{{U4 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709 b/lib/common/fuzz/destination/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709 new file mode 100644 index 0000000..e69de29 diff --git a/lib/common/fuzz/destination/corpus/test-input-128-256-1 b/lib/common/fuzz/destination/corpus/test-input-128-256-1 new file mode 100644 index 0000000000000000000000000000000000000000..4a894a37bb37183ea7ed5f23c87b930a9639bcef GIT binary patch literal 773 VcmZQz7zLvtFmgkHm4StU5dZ@#01E&B literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/test-input-128-256-2 b/lib/common/fuzz/destination/corpus/test-input-128-256-2 new file mode 100644 index 0000000000000000000000000000000000000000..be89cec4fc84e41b84d18d594678f82f9dff7d35 GIT binary patch literal 775 XcmZQz7zLvtFmgkHm4StUk%0jK13>@_ literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/corpus/test-input-128-256-3 b/lib/common/fuzz/destination/corpus/test-input-128-256-3 new file mode 100644 index 0000000000000000000000000000000000000000..810553338b4acbe590db4a079ecb76955a41ce7b GIT binary patch literal 771 QcmZQz7zLvtFrq^M00RR60RR91 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/destination/fuzz.go b/lib/common/fuzz/destination/fuzz.go new file mode 100644 index 0000000..3bb085c --- /dev/null +++ b/lib/common/fuzz/destination/fuzz.go @@ -0,0 +1,10 @@ +package exportable + +import "github.com/hkparker/go-i2p/lib/common" + +func Fuzz(data []byte) int { + destination := common.Destination(data) + destination.Base32Address() + destination.Base64() + return 0 +} diff --git a/lib/common/fuzz/keys_and_cert/corpus/46859acd63346200860afb148cb447e293c2837c-1 b/lib/common/fuzz/keys_and_cert/corpus/46859acd63346200860afb148cb447e293c2837c-1 new file mode 100644 index 0000000000000000000000000000000000000000..969ef40c2699a04f87ade31bf59023b4defd5e75 GIT binary patch literal 391 bcmZQz7$ER0l5v1+9#qz{GO#enFfafBQ$_)1 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/5ff31659ca03d5508285399652243143042abb20 b/lib/common/fuzz/keys_and_cert/corpus/5ff31659ca03d5508285399652243143042abb20 new file mode 100644 index 0000000000000000000000000000000000000000..c9cfa10846c71e0e696bf7a32f839ca563a68f0b GIT binary patch literal 387 NcmZQz7zG0y0ssMn00961 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/6729889dd49c146eebb2fd69ab0560ab8c049c4b b/lib/common/fuzz/keys_and_cert/corpus/6729889dd49c146eebb2fd69ab0560ab8c049c4b new file mode 100644 index 0000000000000000000000000000000000000000..075c412062599df376763bd867465b15a776ec8c GIT binary patch literal 387 PcmZQz7zG0w0uBrS0s{a+ literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/8dc00598417d4eb788a77ac6ccef3cb484905d8b b/lib/common/fuzz/keys_and_cert/corpus/8dc00598417d4eb788a77ac6ccef3cb484905d8b new file mode 100644 index 0000000..b0b2b1c --- /dev/null +++ b/lib/common/fuzz/keys_and_cert/corpus/8dc00598417d4eb788a77ac6ccef3cb484905d8b @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/common/fuzz/keys_and_cert/corpus/93436ea60c5dcdd2e9893a025f560ab72422ae8c b/lib/common/fuzz/keys_and_cert/corpus/93436ea60c5dcdd2e9893a025f560ab72422ae8c new file mode 100644 index 0000000000000000000000000000000000000000..3dba1719989da9c680f402194011e27dc3917ea3 GIT binary patch literal 101 LcmZQzpaTE^0A&CH literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-1 b/lib/common/fuzz/keys_and_cert/corpus/test-input-1 new file mode 100644 index 0000000000000000000000000000000000000000..01188b24a1e831a0130cf24947c725373ace5f7d GIT binary patch literal 5 McmZQ&U}0bc001ih3jhEB literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128 new file mode 100644 index 0000000000000000000000000000000000000000..65f57c2ee985713476ac0b6e3483e6fe472e2176 GIT binary patch literal 256 LcmZQz7})>-0RR92 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128-1 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128-1 new file mode 100644 index 0000000000000000000000000000000000000000..dc2e4b24336d5f610f5f57c86fdd6222a5339f3a GIT binary patch literal 261 QcmZQz7}!N? literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-1 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-1 new file mode 100644 index 0000000000000000000000000000000000000000..4a894a37bb37183ea7ed5f23c87b930a9639bcef GIT binary patch literal 773 VcmZQz7zLvtFmgkHm4StU5dZ@#01E&B literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-2 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-2 new file mode 100644 index 0000000000000000000000000000000000000000..be89cec4fc84e41b84d18d594678f82f9dff7d35 GIT binary patch literal 775 XcmZQz7zLvtFmgkHm4StUk%0jK13>@_ literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-3 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128-256-3 new file mode 100644 index 0000000000000000000000000000000000000000..810553338b4acbe590db4a079ecb76955a41ce7b GIT binary patch literal 771 QcmZQz7zLvtFrq^M00RR60RR91 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-128-3 b/lib/common/fuzz/keys_and_cert/corpus/test-input-128-3 new file mode 100644 index 0000000000000000000000000000000000000000..d0061d5f8763fcd89f2046ed2c476dfc3bf07f39 GIT binary patch literal 259 LcmZQz81VoA0RsR5 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-2 b/lib/common/fuzz/keys_and_cert/corpus/test-input-2 new file mode 100644 index 0000000000000000000000000000000000000000..e5d5a249337382f8f1027a5a95a0716764f9ed9a GIT binary patch literal 7 OcmZQ&U}0cnU;qFBK>!N? literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-256 b/lib/common/fuzz/keys_and_cert/corpus/test-input-256 new file mode 100644 index 0000000000000000000000000000000000000000..a64a5a93fb4aef4d5f63d79cb2582731b9ac5063 GIT binary patch literal 512 NcmZQz7zHCa1ONg600961 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-256-1 b/lib/common/fuzz/keys_and_cert/corpus/test-input-256-1 new file mode 100644 index 0000000000000000000000000000000000000000..ba6613ce468a986267ab27ff7c1bd2280f03cd14 GIT binary patch literal 517 ScmZQz7zHCa1XvkZ7#INpD*y`s literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-256-2 b/lib/common/fuzz/keys_and_cert/corpus/test-input-256-2 new file mode 100644 index 0000000000000000000000000000000000000000..bc4b52722b53495eeab9614a3c54c6f37a62547d GIT binary patch literal 519 UcmZQz7zHCa1XvkZ7#JBC00Kb(3jhEB literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-256-3 b/lib/common/fuzz/keys_and_cert/corpus/test-input-256-3 new file mode 100644 index 0000000000000000000000000000000000000000..98323f2f8d73276d5d7bdc09bffff65fd259b5cb GIT binary patch literal 515 NcmZQz7zHCd1ONg900961 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/corpus/test-input-3 b/lib/common/fuzz/keys_and_cert/corpus/test-input-3 new file mode 100644 index 0000000000000000000000000000000000000000..4227ca4e8736af63036e7457e2db376ddf7e5795 GIT binary patch literal 3 KcmZQzU;qFB0{{U4 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/keys_and_cert/fuzz.go b/lib/common/fuzz/keys_and_cert/fuzz.go new file mode 100644 index 0000000..9e1aaa5 --- /dev/null +++ b/lib/common/fuzz/keys_and_cert/fuzz.go @@ -0,0 +1,11 @@ +package exportable + +import "github.com/hkparker/go-i2p/lib/common" + +func Fuzz(data []byte) int { + keys_and_cert, _, _ := common.ReadKeysAndCert(data) + keys_and_cert.Certificate() + keys_and_cert.PublicKey() + keys_and_cert.SigningPublicKey() + return 0 +} diff --git a/lib/common/fuzz/router_address/corpus/1678dbe0543c53f9e3af28c39781fc1f36e68923-1 b/lib/common/fuzz/router_address/corpus/1678dbe0543c53f9e3af28c39781fc1f36e68923-1 new file mode 100644 index 0000000000000000000000000000000000000000..0afbbe3b71df4501bd87b2113dec53b07e05a20d GIT binary patch literal 19 TcmZQzWMXDvWq<%i1`r1T0UZDz literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/router_address/corpus/22175c4387d13a74890127402ab1725f38bdce0e-2 b/lib/common/fuzz/router_address/corpus/22175c4387d13a74890127402ab1725f38bdce0e-2 new file mode 100644 index 0000000000000000000000000000000000000000..e701128f1366b06c26280b510a1b109178ea28b2 GIT binary patch literal 26 icmXT*VHMz(dB1-zHv_}x&IvbvHr`-hWME=uVFdty@_ literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/router_identity/corpus/test-input-128 b/lib/common/fuzz/router_identity/corpus/test-input-128 new file mode 100644 index 0000000000000000000000000000000000000000..65f57c2ee985713476ac0b6e3483e6fe472e2176 GIT binary patch literal 256 LcmZQz7})>-0RR92 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/router_identity/corpus/test-input-2 b/lib/common/fuzz/router_identity/corpus/test-input-2 new file mode 100644 index 0000000000000000000000000000000000000000..e19e3e4a5dad83378eedd595080c34b5cbb7ee23 GIT binary patch literal 786 dcmZQz7zLvtFmgkHm4StU5$gR415>pa1^@|o0crpM literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/router_identity/corpus/test-input-3 b/lib/common/fuzz/router_identity/corpus/test-input-3 new file mode 100644 index 0000000000000000000000000000000000000000..00125840529ed81f1590e7fe31b0f5a0a143333a GIT binary patch literal 787 ecmZQz7zLvtFmgkHm4StU5$gR415>pa21Wo1;{j^` literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/router_identity/fuzz.go b/lib/common/fuzz/router_identity/fuzz.go new file mode 100644 index 0000000..224c85c --- /dev/null +++ b/lib/common/fuzz/router_identity/fuzz.go @@ -0,0 +1,11 @@ +package exportable + +import "github.com/hkparker/go-i2p/lib/common" + +func Fuzz(data []byte) int { + router_identity, _, _ := common.ReadRouterIdentity(data) + router_identity.Certificate() + router_identity.PublicKey() + router_identity.SigningPublicKey() + return 0 +} diff --git a/lib/common/fuzz/string/corpus/ac9231da4082430afe8f4d40127814c613648d8e b/lib/common/fuzz/string/corpus/ac9231da4082430afe8f4d40127814c613648d8e new file mode 100644 index 0000000..501a6bb --- /dev/null +++ b/lib/common/fuzz/string/corpus/ac9231da4082430afe8f4d40127814c613648d8e @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/common/fuzz/string/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 b/lib/common/fuzz/string/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 new file mode 100644 index 0000000..6b2aaa7 --- /dev/null +++ b/lib/common/fuzz/string/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/common/fuzz/string/corpus/test-input-1 b/lib/common/fuzz/string/corpus/test-input-1 new file mode 100644 index 0000000000000000000000000000000000000000..aa7650d5edefc154986e199c8ba41b90830ed110 GIT binary patch literal 3 KcmZQ#U;qFB2>=5C literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/string/corpus/test-input-128 b/lib/common/fuzz/string/corpus/test-input-128 new file mode 100644 index 0000000000000000000000000000000000000000..65f57c2ee985713476ac0b6e3483e6fe472e2176 GIT binary patch literal 256 LcmZQz7})>-0RR92 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/string/corpus/test-input-2 b/lib/common/fuzz/string/corpus/test-input-2 new file mode 100644 index 0000000000000000000000000000000000000000..12db4781e63a8c821478a5af5c840908f228181d GIT binary patch literal 3 KcmZQ%U;qFB1^@y8 literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/string/corpus/test-input-3 b/lib/common/fuzz/string/corpus/test-input-3 new file mode 100644 index 0000000000000000000000000000000000000000..3d70d85eba81360f757bc71859316667610c5339 GIT binary patch literal 3 KcmZQ%U<3dF2LJ;A literal 0 HcmV?d00001 diff --git a/lib/common/fuzz/string/corpus/test-input-4 b/lib/common/fuzz/string/corpus/test-input-4 new file mode 100644 index 0000000..8bcd24d --- /dev/null +++ b/lib/common/fuzz/string/corpus/test-input-4 @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/lib/common/fuzz/string/corpus/test-input-5 b/lib/common/fuzz/string/corpus/test-input-5 new file mode 100644 index 0000000..ff79a63 --- /dev/null +++ b/lib/common/fuzz/string/corpus/test-input-5 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/common/fuzz/string/corpus/test-input-6 b/lib/common/fuzz/string/corpus/test-input-6 new file mode 100644 index 0000000..39209d1 --- /dev/null +++ b/lib/common/fuzz/string/corpus/test-input-6 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/common/fuzz/string/fuzz.go b/lib/common/fuzz/string/fuzz.go new file mode 100644 index 0000000..d958c8c --- /dev/null +++ b/lib/common/fuzz/string/fuzz.go @@ -0,0 +1,13 @@ +package exportable + +import "github.com/hkparker/go-i2p/lib/common" + +func Fuzz(data []byte) int { + str, _, _ := common.ReadString(data) + str.Data() + str.Length() + str, _ = common.ToI2PString(string(data)) + str.Data() + str.Length() + return 0 +}