1 This case can be triggered by encrypting in FIPS mode, where the default
2 algorithm is unsupported and gpg crashes in response.
4 diff --git a/lib/crypto.c b/lib/crypto.c
5 index 06eb482..905d583 100644
8 @@ -709,6 +709,12 @@ encrypt_with_passphrase (size_t *res_size, const void *data, size_t size,
10 gpgme_data_release (src_data);
11 gpgme_res = gpgme_data_release_and_get_mem (dest_data, res_size);
12 + if (gpgme_res == NULL)
14 + g_set_error (error, LIBVK_ERROR, LIBVK_ERROR_CRYPTO,
15 + _("Unknown error getting encryption result"));
18 res = g_memdup (gpgme_res, *res_size);
19 gpgme_free (gpgme_res);
21 @@ -759,6 +765,12 @@ decrypt_with_passphrase (size_t *res_size, const void *data, size_t size,
23 gpgme_data_release (src_data);
24 gpgme_res = gpgme_data_release_and_get_mem (dest_data, res_size);
25 + if (gpgme_res == NULL)
27 + g_set_error (error, LIBVK_ERROR, LIBVK_ERROR_CRYPTO,
28 + _("Unknown error getting decryption result"));
31 res = g_memdup (gpgme_res, *res_size);
32 gpgme_free (gpgme_res);