From c399f0689a225a08381813d7409d31035740b3b8 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Tue, 14 May 2019 11:25:06 +0200 Subject: [PATCH] fix(e2ee): don't panic on missing keys --- src/dc_e2ee.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/dc_e2ee.rs b/src/dc_e2ee.rs index c896d989e..abf3509b1 100644 --- a/src/dc_e2ee.rs +++ b/src/dc_e2ee.rs @@ -673,8 +673,12 @@ pub unsafe fn dc_e2ee_decrypt( dc_handle_degrade_event(context, &peerstate); } // TODO: avoid clone - public_keyring_for_validate.add(peerstate.gossip_key.clone().unwrap()); - public_keyring_for_validate.add(peerstate.public_key.clone().unwrap()); + if let Some(ref key) = peerstate.gossip_key { + public_keyring_for_validate.add(key.clone()); + } + if let Some(ref key) = peerstate.public_key { + public_keyring_for_validate.add(key.clone()); + } (*helper).signatures = malloc(::std::mem::size_of::()) as *mut dc_hash_t; dc_hash_init((*helper).signatures, 3i32, 1i32); iterations = 0i32;