mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-04 14:04:40 -04:00
fix(store-encryption): Remove an unwrap that snuck in (#4506)
This commit is contained in:
@@ -6,6 +6,13 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased] - ReleaseDate
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove the usage of an unwrap in the `StoreCipher::import_with_key` method.
|
||||
This could have lead to panics if the second argument was an invalid
|
||||
`StoreCipher` export.
|
||||
([#4506](https://github.com/matrix-org/matrix-rust-sdk/pull/4506))
|
||||
|
||||
## [0.9.0] - 2024-12-18
|
||||
|
||||
No notable changes in this release.
|
||||
|
||||
@@ -334,7 +334,7 @@ impl StoreCipher {
|
||||
/// # anyhow::Ok(()) };
|
||||
/// ```
|
||||
pub fn import_with_key(key: &[u8; 32], encrypted: &[u8]) -> Result<Self, Error> {
|
||||
let encrypted: EncryptedStoreCipher = rmp_serde::from_slice(encrypted).unwrap();
|
||||
let encrypted: EncryptedStoreCipher = rmp_serde::from_slice(encrypted)?;
|
||||
|
||||
if let KdfInfo::Pbkdf2ToChaCha20Poly1305 { .. } = encrypted.kdf_info {
|
||||
return Err(Error::KdfMismatch);
|
||||
@@ -903,6 +903,12 @@ mod tests {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_importing_invalid_store_cipher_does_not_panic() {
|
||||
// This used to panic, we're testing that we're getting a real error.
|
||||
assert!(StoreCipher::import_with_key(&[0; 32], &[0; 64]).is_err())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn encrypting_values() -> Result<(), Error> {
|
||||
let event = json!({
|
||||
|
||||
Reference in New Issue
Block a user