diff --git a/openssl/src/base64.rs b/openssl/src/base64.rs index 59d2103a..072df6b2 100644 --- a/openssl/src/base64.rs +++ b/openssl/src/base64.rs @@ -43,6 +43,11 @@ pub fn encode_block(src: &[u8]) -> String { pub fn decode_block(src: &str) -> Result, ErrorStack> { let src = src.trim(); + // https://github.com/openssl/openssl/issues/12143 + if src.is_empty() { + return Ok(vec![]); + } + assert!(src.len() <= c_int::max_value() as usize); let src_len = src.len() as c_int;