if (! folder) {
folder = getfolder (1);
}
- maildir = m_maildir (folder);
+ maildir = mh_xstrdup(m_maildir (folder));
/* chdir so that error messages, esp. from MIME parser, just
refer to the message and not its path. */
status = 1;
}
+ mh_xfree(maildir);
free (cts);
if (fx.fixtypes != NULL) { svector_free (fx.fixtypes); }
if ((*ctp)->c_file) {
char *tempfile;
+ /* outfp will be closed by the caller */
if ((tempfile = m_mktemp2 (NULL, invo_name, NULL, outfp)) ==
NULL) {
adios (NULL, "unable to create temporary file in %s",
be unlinked by free_content (). */
char *tempfile;
+ /* This m_mktemp2() call closes the temp file. */
if ((tempfile = m_mktemp2 (NULL, invo_name, NULL, NULL)) == NULL) {
advise (NULL, "unable to create temporary file in %s",
get_temp_dir());
status = output_message_fp (ct, file, tmp_decoded);
(void) m_unlink (tmp_decoded);
free (tmp_decoded);
+ if (fclose (file)) {
+ admonish (NULL, "unable to close temporary file %s", tempfile);
+ }
return status;
}
fix_filename_param (char *name, char *value, PM *first_pm, PM *last_pm) {
int fixed = 0;
- if (HasPrefix(value, "=?") && HasSuffix(value, "?=")) {
+ if (has_prefix(value, "=?") && has_suffix(value, "?=")) {
/* Looks like an RFC 2047 encoded parameter. */
char decoded[PATH_MAX + 1];