From 927a0c3cc02a9c69a4a84539e4a14011b04fc7f4 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Fri, 11 Sep 2020 00:06:32 +0300 Subject: [PATCH] melib/imap: prevent panic in untagged fetch response --- melib/src/backends/imap/untagged.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/melib/src/backends/imap/untagged.rs b/melib/src/backends/imap/untagged.rs index 6c3b67bf..6f32c2b2 100644 --- a/melib/src/backends/imap/untagged.rs +++ b/melib/src/backends/imap/untagged.rs @@ -138,8 +138,6 @@ impl ImapConnection { )); } UntaggedResponse::Exists(n) => { - /* UID FETCH ALL UID, cross-ref, then FETCH difference headers - * */ debug!("exists {}", n); try_fail!( mailbox_hash, @@ -152,6 +150,9 @@ impl ImapConnection { uid, flags, body, .. } in v { + if uid.is_none() || flags.is_none() || body.is_none() { + continue; + } let uid = uid.unwrap(); if self .uid_store @@ -260,6 +261,9 @@ impl ImapConnection { uid, flags, body, .. } in v { + if uid.is_none() || flags.is_none() || body.is_none() { + continue; + } let uid = uid.unwrap(); if !self .uid_store