( cvs diff -u -r 1.453 -r 1.454 src/compose.c; cvs diff -u -r 1.261 -r 1.262 src/folder.c; cvs diff -u -r 1.312 -r 1.313 src/mainwindow.c; cvs diff -u -r 1.116 -r 1.118 src/prefs_account.c; cvs diff -u -r 1.53 -r 1.54 src/prefs_account.h; cvs diff -u -r 1.8 -r 1.9 src/plugins/pgpmime/pgpmime.c; ) > 0.9.12cvs144.patchset
( cvs diff -u -r 1.444 -r 1.445 ChangeLog; cvs diff -u -r 1.439 -r 1.440 ChangeLog.jp; cvs diff -u -r 1.75 -r 1.76 src/account.c; cvs diff -u -r 1.250 -r 1.251 src/folderview.c; cvs diff -u -r 1.26 -r 1.27 src/folderview.h; cvs diff -u -r 1.208 -r 1.209 src/imap.c; cvs diff -u -r 1.2 -r 1.3 src/imap_gtk.c; cvs diff -u -r 1.178 -r 1.179 src/inc.c; cvs diff -u -r 1.312 -r 1.313 src/mainwindow.c; cvs diff -u -r 1.4 -r 1.5 src/mh_gtk.c; cvs diff -u -r 1.2 -r 1.3 src/news_gtk.c; cvs diff -u -r 1.69 -r 1.70 src/pop.c; cvs diff -u -r 1.118 -r 1.119 src/prefs_account.c; cvs diff -u -r 1.54 -r 1.55 src/prefs_account.h; cvs diff -u -r 1.5 -r 1.6 src/prefs_ext_prog.c; cvs diff -u -r 1.169 -r 1.170 src/procmsg.c; cvs diff -u -r 1.71 -r 1.72 src/procmsg.h; cvs diff -u -r 1.18 -r 1.19 src/summary_search.c; cvs diff -u -r 1.450 -r 1.451 src/summaryview.c; cvs diff -u -r 1.128 -r 1.129 src/textview.c; cvs diff -u -r 1.16 -r 1.17 src/common/defs.h; cvs diff -u -r 1.57 -r 1.58 src/common/utils.c; cvs diff -u -r 1.33 -r 1.34 src/common/utils.h; cvs diff -u -r 1.10 -r 1.11 src/gtk/menu.c; cvs diff -u -r 1.8 -r 1.9 src/gtk/menu.h; ) > 0.9.12cvs145.patchset
( cvs diff -u -r 1.119 -r 1.120 src/prefs_account.c; cvs diff -u -r 1.91 -r 1.92 src/procmime.c; cvs diff -u -r 1.32 -r 1.33 src/procmime.h; ) > 0.9.12cvs146.patchset
+( cvs diff -u -r 1.170 -r 1.171 src/procmsg.c; ) > 0.9.12cvs147.patchset
if (!fwdmessageid) fwdmessageid = g_strdup(p);
break;
case Q_PRIVACY_SYSTEM:
- if (privacy_system == NULL) privacy_system = g_strdup(p);
+ if (!privacy_system) privacy_system = g_strdup(p);
break;
case Q_ENCRYPT:
if (p[0] == '1') encrypt = TRUE;
break;
case Q_ENCRYPT_DATA:
- if (encrypt_data == NULL) encrypt_data = g_strdup(p);
+ if (!encrypt_data) encrypt_data = g_strdup(p);
break;
}
}
filepos = ftell(fp);
if (encrypt) {
- /* FIXME: memory leaks, in case of errors */
MimeInfo *mimeinfo;
fclose(fp);
-
+
mimeinfo = procmime_scan_queue_file(file);
- if (!privacy_encrypt(privacy_system, mimeinfo, encrypt_data))
- return -1;
-
- fp = my_tmpfile();
- if (procmime_write_mimeinfo(mimeinfo, fp) < 0) {
- fclose(fp);
+ if (!privacy_encrypt(privacy_system, mimeinfo, encrypt_data)
+ || (fp = my_tmpfile()) == NULL
+ || procmime_write_mimeinfo(mimeinfo, fp) < 0) {
+ if (fp)
+ fclose(fp);
+ procmime_mimeinfo_free_all(mimeinfo);
+ g_free(from);
+ g_free(smtpserver);
+ slist_free_strings(to_list);
+ g_slist_free(to_list);
+ slist_free_strings(newsgroup_list);
+ g_slist_free(newsgroup_list);
+ g_free(savecopyfolder);
+ g_free(replymessageid);
+ g_free(fwdmessageid);
+ g_free(privacy_system);
+ g_free(encrypt_data);
return -1;
}
- procmime_mimeinfo_free_all(mimeinfo);
rewind(fp);
filepos = 0;
g_free(tmp);
}
- slist_free_strings(to_list);
- g_slist_free(to_list);
- slist_free_strings(newsgroup_list);
- g_slist_free(newsgroup_list);
- g_free(from);
- g_free(smtpserver);
fclose(fp);
/* save message to outbox */
g_strfreev(tokens);
}
+ g_free(from);
+ g_free(smtpserver);
+ slist_free_strings(to_list);
+ g_slist_free(to_list);
+ slist_free_strings(newsgroup_list);
+ g_slist_free(newsgroup_list);
g_free(savecopyfolder);
g_free(replymessageid);
g_free(fwdmessageid);
-
+ g_free(privacy_system);
+ g_free(encrypt_data);
+
return (newsval != 0 ? newsval : mailval);
}