mime-node: handle decrypt_result more safely

If (for whatever reason) we don't get a decrypt_result back, or it's
not structured the way we expect it to be, we shouldn't choke on it.
This commit is contained in:
Daniel Kahn Gillmor 2017-11-30 03:59:26 -05:00 committed by David Bremner
parent 842d7dffcb
commit 9beda4b981

View file

@ -214,13 +214,15 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
node->decrypt_success = true; node->decrypt_success = true;
node->verify_attempted = true; node->verify_attempted = true;
/* This may be NULL if the part is not signed. */ if (decrypt_result) {
node->sig_list = g_mime_decrypt_result_get_signatures (decrypt_result); /* This may be NULL if the part is not signed. */
if (node->sig_list) { node->sig_list = g_mime_decrypt_result_get_signatures (decrypt_result);
g_object_ref (node->sig_list); if (node->sig_list) {
set_signature_list_destructor (node); g_object_ref (node->sig_list);
set_signature_list_destructor (node);
}
g_object_unref (decrypt_result);
} }
g_object_unref (decrypt_result);
DONE: DONE:
if (err) if (err)