diff --git a/crates/core/src/database/questions.rs b/crates/core/src/database/questions.rs index 0a6965c..8cfd09c 100644 --- a/crates/core/src/database/questions.rs +++ b/crates/core/src/database/questions.rs @@ -415,6 +415,9 @@ impl DataManager { // this is the initial iter to check sizes, we'll do uploads after if drawing.len() > Self::MAXIMUM_DRAWING_SIZE { return Err(Error::FileTooLarge); + } else if drawing.len() < 25 { + // if we have less than 25 bytes in a drawing, the drawing is likely blank + return Err(Error::FileTooSmall); } } diff --git a/crates/core/src/model/mod.rs b/crates/core/src/model/mod.rs index ed2da9e..839310f 100644 --- a/crates/core/src/model/mod.rs +++ b/crates/core/src/model/mod.rs @@ -43,6 +43,7 @@ pub enum Error { DataTooLong(String), DataTooShort(String), FileTooLarge, + FileTooSmall, UsernameInUse, TitleInUse, QuestionsDisabled, @@ -66,6 +67,7 @@ impl Display for Error { Self::DataTooLong(name) => format!("Given {name} is too long!"), Self::DataTooShort(name) => format!("Given {name} is too short!"), Self::FileTooLarge => "Given file is too large".to_string(), + Self::FileTooSmall => "Given file is too small".to_string(), Self::UsernameInUse => "Username in use".to_string(), Self::TitleInUse => "Title in use".to_string(), Self::QuestionsDisabled => "You are not allowed to ask questions there".to_string(),