diff --git a/Cargo.toml b/Cargo.toml index 7096d77..8e662eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm4-gcm" -version = "0.1.1" +version = "0.1.2" edition = "2021" authors = ["Hatter Jiang"] repository = "https://git.hatter.ink/hatter/sm4-gcm" diff --git a/src/decryptor.rs b/src/decryptor.rs index 3c99890..de1f80f 100644 --- a/src/decryptor.rs +++ b/src/decryptor.rs @@ -123,6 +123,9 @@ impl Sm4GcmStreamDecryptor { self.ghash.update_padded(&adata_and_message_len); let tag = self.calculate_tag(); + if self.message_buffer.len() < 16 { + return Err(format!("Tag missing, message length is: {} < 16 bytes", self.message_buffer.len())); + } let message_tag = &self.message_buffer[message_buffer_len - 16..]; if message_tag != tag.as_slice() {