X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-crypt%2Fcrypt-gpgme.c;h=6050418efdc0005f04e3caf6c55922861509698a;hp=b3304f5c1c8bc5d9919612089b1a48fb9f4024d6;hb=3fb238bec424fbc43ebe3a50eca3c84ea7bedf6a;hpb=b62cf5fb77a75e17b176141d232655e5bd8b7fe1 diff --git a/lib-crypt/crypt-gpgme.c b/lib-crypt/crypt-gpgme.c index b3304f5..6050418 100644 --- a/lib-crypt/crypt-gpgme.c +++ b/lib-crypt/crypt-gpgme.c @@ -379,13 +379,11 @@ static gpgme_data_t body_to_data_object (BODY * a, int convert) buf[0] = c; gpgme_data_write (data, buf, 1); } - fclose (fptmp); gpgme_data_seek (data, 0, SEEK_SET); - } - else { - fclose (fptmp); + } else { err = gpgme_data_new_from_file (&data, tempfile, 1); } + m_fclose(&fptmp); unlink (tempfile); if (err) { mutt_error (_("error allocating data object: %s\n"), gpgme_strerror (err)); @@ -469,8 +467,8 @@ static char *data_object_to_tempfile (gpgme_data_t data, FILE ** ret_fp) while ((nread = gpgme_data_read (data, buf, sizeof (buf)))) { if (fwrite (buf, nread, 1, fp) != 1) { - mutt_perror (tempfile); - fclose (fp); + mutt_perror (_("Can't create temporary file")); + m_fclose(&fp); unlink (tempfile); return NULL; } @@ -479,11 +477,11 @@ static char *data_object_to_tempfile (gpgme_data_t data, FILE ** ret_fp) if (ret_fp) rewind (fp); else - fclose (fp); + m_fclose(&fp); if (nread == -1) { mutt_error (_("error reading data object: %s\n"), gpgme_strerror (err)); unlink (tempfile); - fclose (fp); + m_fclose(&fp); return NULL; } if (ret_fp) @@ -1542,7 +1540,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b, b->type = saved_b_type; b->length = saved_b_length; b->offset = saved_b_offset; - fclose (tmpfp); + m_fclose(&tmpfp); rewind (*fpout); if (*cur && !is_signed && !(*cur)->parts && mutt_is_application_smime (*cur)) { @@ -1577,7 +1575,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b, bb->length = ftello (s.fpout); bb->offset = 0; rewind (tmpfp); - fclose (*fpout); + m_fclose(&*fpout); p_clear(&s, 1); s.fpin = tmpfp; @@ -1595,7 +1593,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b, bb->type = saved_b_type; bb->length = saved_b_length; bb->offset = saved_b_offset; - fclose (tmpfp); + m_fclose(&tmpfp); rewind (*fpout); body_list_wipe(cur); *cur = tmp_b; @@ -1736,7 +1734,7 @@ static void copy_clearsigned (gpgme_data_t data, STATE * s, char *charset) } fgetconv_close (&fc); - fclose (fp); + m_fclose(&fp); } @@ -2038,7 +2036,7 @@ int pgp_gpgme_encrypted_handler (BODY * a, STATE * s) body_list_wipe(&tattach); } - fclose (fpout); + m_fclose(&fpout); mutt_unlink (tempfile); return (rc); } @@ -2102,7 +2100,7 @@ int smime_gpgme_application_handler (BODY * a, STATE * s) body_list_wipe(&tattach); } - fclose (fpout); + m_fclose(&fpout); mutt_unlink (tempfile); return (rc); } @@ -2969,7 +2967,7 @@ static void verify_key (crypt_key_t * key) leave: gpgme_key_release (k); gpgme_release (listctx); - fclose (fp); + m_fclose(&fp); mutt_clear_error (); snprintf (cmd, sizeof (cmd), _("Key ID: 0x%s"), crypt_keyid (key)); mutt_do_pager (cmd, tempfile, 0, NULL);