On Wed, Mar 21, 2018 at 10:56:22AM -0700, Kevin J. McCarthy wrote: > If you feel comfortable patching and testing, I'd appreciate to know if > that fixes it for you. Regardless, I will take a closer look and apply > that patch myself later today.
Hi Michael, I'm attaching a patch that's just a slightly different version of the one I mentioned. It's against stable, but should apply to master with just a warning about a 5-line offset. If you could try it out, I'd appreciate it. Thank you, -- Kevin J. McCarthy GPG Fingerprint: 8975 A9B3 3AA3 7910 385C 5308 ADEF 7684 8031 6BDA
diff --git a/crypt-gpgme.c b/crypt-gpgme.c index 7283e109..35852380 100644 --- a/crypt-gpgme.c +++ b/crypt-gpgme.c @@ -1685,9 +1685,9 @@ static BODY *decrypt_part (BODY *a, STATE *s, FILE *fpout, int is_smime, if (r_is_signed) *r_is_signed = 0; +restart: ctx = create_gpgme_context (is_smime); - restart: /* Make a data object from the body, create context etc. */ ciphertext = file_to_data_object (s->fpin, a->offset, a->length); if (!ciphertext) @@ -1730,6 +1730,9 @@ static BODY *decrypt_part (BODY *a, STATE *s, FILE *fpout, int is_smime, { maybe_signed = 1; gpgme_data_release (plaintext); + /* We release the context because recent versions of gpgsm + * appear to end the session after an error */ + gpgme_release (ctx); goto restart; } }
signature.asc
Description: PGP signature