commit e7e5d265bafd3cdc281ec92da0614f0367165ecc
parent d888faed5a4a5004a1fcdb7efb071ca840254b3e
Author: MTRNord <mtrnord1@gmail.com>
Date: Sun, 14 Aug 2022 03:09:42 +0200
Reduce false negatives
Diffstat:
2 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/src/lib.rs b/src/lib.rs
@@ -79,7 +79,7 @@ mod tests {
fn null_in_room() {
let content = CreateRoomMagicJSON {
name: Some("a".to_string()),
- room_alias_name: Some("\0".to_string()),
+ //room_alias_name: Some("\0".to_string()),
visibility: Some("a".to_string()),
is_direct: Some(false),
topic: Some("c".to_string()),
@@ -219,13 +219,12 @@ mod tests {
}
}
- // FIXME: We probably should set it to null and not do a false positive
// HACK due to https://github.com/matrix-org/synapse/issues/13510
- if let Some(room_alias_name) = &json_data.room_alias_name {
+ /*if let Some(room_alias_name) = &json_data.room_alias_name {
if room_alias_name.contains('\0') {
json_data.room_alias_name = Some(room_alias_name.replace('\0', ""));
}
- }
+ }*/
// HACK due to NUL in type or state_key
json_data
.initial_state
diff --git a/src/types/create_room.rs b/src/types/create_room.rs
@@ -15,6 +15,18 @@ fn creation_content_skip(value: &Value) -> bool {
|| value.is_u64()
}
+fn room_version_skip(value: &Option<String>) -> bool {
+ if value.is_none() {
+ return true;
+ }
+ if let Some(ref value) = value {
+ if value.is_empty() {
+ return true;
+ }
+ }
+ false
+}
+
#[derive(Clone, Serialize, Deserialize, Debug, Default, DefaultMutator)]
pub struct CreateRoomMagicJSON {
#[serde(skip_serializing_if = "creation_content_skip")]
@@ -34,10 +46,12 @@ pub struct CreateRoomMagicJSON {
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preset: Option<String>,
- #[serde(skip_serializing_if = "Option::is_none")]
- pub room_alias_name: Option<String>,
- #[serde(skip_serializing_if = "Option::is_none")]
- pub room_version: Option<String>,
+ // Disabled to have more fuzz results
+ //#[serde(skip_serializing_if = "Option::is_none")]
+ //pub room_alias_name: Option<String>,
+ // Disabled to have more fuzz results
+ //#[serde(skip_serializing_if = "room_version_skip")]
+ //pub room_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub topic: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]