matrix-fuzz

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

commit 27bd5187124cfe45c87e26aaa9cb6d5c6f77b172
parent 6de2661b4c739c27ce2089931f38d415a0cfa58f
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sat, 13 Aug 2022 14:23:46 +0200

Dont send null chars in the password

Diffstat:
Msrc/lib.rs | 23++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/lib.rs b/src/lib.rs @@ -137,25 +137,38 @@ mod tests { let mut data = data.clone(); // We hardcode the type for better fuzzing data._type = "m.login.password".to_string(); + if data.user.is_some() { + data.user = Some(crate::secrets::USERNAME.to_string()); + } + if let Some(identifier) = &mut data.identifier { + if identifier.user.is_some() { + identifier.user = Some(crate::secrets::USERNAME.to_string()); + } + } if let Some(user) = &data.user { if user.contains("\0") { - data.user = None; + data.user = Some(user.replace("\0", "")); } } if let Some(medium) = &data.medium { if medium.contains("\0") { - data.medium = None; + data.medium = Some(medium.replace("\0", "")); } } if let Some(address) = &data.address { if address.contains("\0") { - data.address = None; + data.address = Some(address.replace("\0", "")); } } if let Some(user) = &data.user { if user.contains("\0") { - data.user = None; + data.user = Some(user.replace("\0", "")); + } + } + if let Some(password) = &data.password { + if password.contains("\0") { + data.password = Some(password.replace("\0", "")); } } @@ -210,7 +223,7 @@ mod tests { // HACK due to https://github.com/matrix-org/synapse/issues/13510 if let Some(room_alias_name) = &json_data.room_alias_name { if room_alias_name.contains('\0') { - json_data.room_alias_name = None; + json_data.room_alias_name = Some(room_alias_name.replace("\0", "")); } } // HACK due to NUL in type or state_key