diff --git a/src/backup/crypto.rs b/src/backup/crypto.rs index 92f81d6..2419075 100644 --- a/src/backup/crypto.rs +++ b/src/backup/crypto.rs @@ -183,10 +183,10 @@ pub fn aes_decrypt_cbc_with_padding(data: &[u8], key: &EncryptionKey) -> Result< } // Ensure data length is a multiple of 16 bytes (AES block size) - let data_len = if data.len() % 16 != 0 { - data.len() - (data.len() % 16) - } else { + let data_len = if data.len().is_multiple_of(16) { data.len() + } else { + data.len() - (data.len() % 16) }; let iv_bytes = [0u8; 16]; diff --git a/src/backup/util/hex.rs b/src/backup/util/hex.rs index a7a2ce7..67fae0f 100644 --- a/src/backup/util/hex.rs +++ b/src/backup/util/hex.rs @@ -13,7 +13,7 @@ use crate::error::{BackupError, Result}; /// # Errors /// Returns [`BackupError::HexDecode`] if the string has odd length or invalid chars. pub(crate) fn hex_decode(hex_string: &str) -> Result> { - if hex_string.len() % 2 != 0 { + if !hex_string.len().is_multiple_of(2) { return Err(BackupError::HexDecode( "Input string has odd length".to_string(), )); diff --git a/src/lib.rs b/src/lib.rs index 7b75164..e493643 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ #![forbid(unsafe_code)] +#![deny(missing_docs)] #![doc = include_str!("../README.md")] pub mod backup;