matrix-rust-sdk-fuzz-target

git clone git://archive.git.mtrnord.blog/MTRNord/matrix-rust-sdk-fuzz-target.git
Log | Files | Refs | README

commit ff0100bdb53f6a7e72c3f1bfc9dbaab03087f7b1
parent bdac7f874dd8890c65839c4eb71411303ccfd2e7
Author: MTRNord <mtrnord1@gmail.com>
Date:   Mon, 28 Jun 2021 12:00:23 +0200

Add get_room fuzz target

Diffstat:
M.gitignore | 2+-
MCargo.toml | 8++++++--
MREADME.md | 2+-
Ain/get_room/1 | 2++
Ain/get_room/2 | 2++
Ain/get_room/3 | 2++
Ain/get_room/4 | 2++
Ain/get_room/5 | 2++
Ain/get_room/6 | 2++
Rin/url -> in/main/url | 0
Rin/url2 -> in/main/url2 | 0
Rin/url3 -> in/main/url3 | 0
Rin/url4 -> in/main/url4 | 0
Asrc/get_room.rs | 16++++++++++++++++
14 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,3 +1,3 @@ /target -/out +/out* cpu_scaling \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml @@ -11,4 +11,8 @@ matrix-sdk = "0.3.0" url = "2.2.2" [patch.crates-io] -lazy_static = { git = "https://github.com/rust-fuzz/resettable-lazy-static.rs" } -\ No newline at end of file +lazy_static = { git = "https://github.com/rust-fuzz/resettable-lazy-static.rs" } + +[[bin]] +name = "fuzz_get_room" +path = "src/get_room.rs" +\ No newline at end of file diff --git a/README.md b/README.md @@ -17,7 +17,7 @@ cargo afl build After that you can start fuzzing by doing: ``` -cargo afl fuzz -i in -o out target/debug/matrix-rust-sdk-fuzz-target +cargo afl fuzz -i in/main -o out target/debug/matrix-rust-sdk-fuzz-target ``` ## Learn more diff --git a/in/get_room/1 b/in/get_room/1 @@ -0,0 +1 @@ +!iMZEhwCvbfeAYUxAjZ:t2l.io +\ No newline at end of file diff --git a/in/get_room/2 b/in/get_room/2 @@ -0,0 +1 @@ +!MKvhXlSTLGJUXpYuWF:nixos.org +\ No newline at end of file diff --git a/in/get_room/3 b/in/get_room/3 @@ -0,0 +1 @@ +!glXkiqByrYALtrIJWV:kde.org +\ No newline at end of file diff --git a/in/get_room/4 b/in/get_room/4 @@ -0,0 +1 @@ +!lAoVmVifHHtoeOAmHO:grapheneos.org +\ No newline at end of file diff --git a/in/get_room/5 b/in/get_room/5 @@ -0,0 +1 @@ +!FbdUhpqRpOpzkFKXef:t2l.io +\ No newline at end of file diff --git a/in/get_room/6 b/in/get_room/6 @@ -0,0 +1 @@ +!xlxIfxYQgiYUNcMwrq:thomcat.rocks +\ No newline at end of file diff --git a/in/url b/in/main/url diff --git a/in/url2 b/in/main/url2 diff --git a/in/url3 b/in/main/url3 diff --git a/in/url4 b/in/main/url4 diff --git a/src/get_room.rs b/src/get_room.rs @@ -0,0 +1,16 @@ +use std::convert::TryFrom; + +use matrix_sdk::{identifiers::RoomId, Client}; +use url::Url; + +fn main() { + afl::fuzz!(|data: &[u8]| { + if let Ok(url) = Url::parse("http://127.0.0.1") { + if let Ok(client) = Client::new(url) { + if let Ok(room_id) = RoomId::try_from(data) { + let _ = client.get_room(&room_id); + } + } + } + }); +}