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->verify_attempted = true;
/* This may be NULL if the part is not signed. */
node->sig_list = g_mime_decrypt_result_get_signatures (decrypt_result);
if (node->sig_list) {
g_object_ref (node->sig_list);
set_signature_list_destructor (node);
if (decrypt_result) {
/* This may be NULL if the part is not signed. */
node->sig_list = g_mime_decrypt_result_get_signatures (decrypt_result);
if (node->sig_list) {
g_object_ref (node->sig_list);
set_signature_list_destructor (node);
}
g_object_unref (decrypt_result);
}
g_object_unref (decrypt_result);
DONE:
if (err)