X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=attach.c;h=d4a3cedc2e60e3f8a34851f10ec022e8af2c3db9;hp=2179a499b4f2830345735db49c3e1c500422ed0b;hb=b2b5c2916e7850ad2f4d1a1b6c8aeb0f1ed49be6;hpb=1d7238dc43311c4545883dc1151bf5b142d88c0b diff --git a/attach.c b/attach.c index 2179a49..d4a3ced 100644 --- a/attach.c +++ b/attach.c @@ -108,7 +108,8 @@ int mutt_compose_attachment (BODY *a) if (mutt_yesorno (_("Can't match nametemplate, continue?"), M_YES) != M_YES) goto bailout; } - unlink_newfile = 1; + else + unlink_newfile = 1; } else strfcpy(newfile, a->filename, sizeof(newfile)); @@ -173,7 +174,11 @@ int mutt_compose_attachment (BODY *a) fclose (fp); fclose (tfp); mutt_unlink (a->filename); - mutt_rename_file (tempfile, a->filename); + if (mutt_rename_file (tempfile, a->filename) != 0) + { + mutt_perror _("Failure to rename file."); + goto bailout; + } mutt_free_body (&b); } @@ -235,7 +240,8 @@ int mutt_edit_attachment (BODY *a) if (mutt_yesorno (_("Can't match nametemplate, continue?"), M_YES) != M_YES) goto bailout; } - unlink_newfile = 1; + else + unlink_newfile = 1; } else strfcpy(newfile, a->filename, sizeof(newfile)); @@ -607,6 +613,7 @@ int mutt_view_attachment (FILE *fp, BODY *a, int flag, HEADER *hdr, rc = mutt_do_pager (descrip, pagerfile, M_PAGER_ATTACHMENT | (is_message ? M_PAGER_MESSAGE : 0), &info); + *pagerfile = '\0'; } else rc = 0; @@ -722,8 +729,11 @@ mutt_save_attachment_open (char *path, int flags) { if (flags == M_SAVE_APPEND) return fopen (path, "a"); + /* be sure not to change the following fopen to safe_fopen + * as safe_fopen returns w/ an error if path exists + */ if (flags == M_SAVE_OVERWRITE) - return safe_fopen (path, "w"); /* __FOPEN_CHECKED__ */ + return fopen (path, "w"); /* __FOPEN_CHECKED__ */ return safe_fopen (path, "w"); }