More and better leak fixes after commit 9729bf0e0.
[claws.git] / src / news.c
index af96e628e03d8c38432156e93fe3911c4cfb463a..c062ac3dfd8e04e51291461299ba15200c67afdc 100644 (file)
@@ -387,8 +387,8 @@ static Session *news_session_new_for_folder(Folder *folder)
        if (ac->ssl_nntp != SSL_NONE) {
                if (alertpanel_full(_("Insecure connection"),
                        _("This connection is configured to be secured "
-                         "using SSL, but SSL is not available in this "
-                         "build of Claws Mail. \n\n"
+                         "using SSL/TLS, but SSL/TLS is not available "
+                         "in this build of Claws Mail. \n\n"
                          "Do you want to continue connecting to this "
                          "server? The communication would not be "
                          "secure."),
@@ -920,7 +920,7 @@ static MsgInfo *news_parse_xover(struct newsnntp_xover_resp_item *item)
                                 msginfo->inreplyto = g_strdup(p);
                 }
                g_free(tmp);
-        
+       } 
 
        return msginfo;
 }
@@ -929,7 +929,7 @@ gint news_cancel_article(Folder * folder, MsgInfo * msginfo)
 {
        gchar * tmp;
        FILE * tmpfp;
-       gchar buf[BUFFSIZE];
+       gchar date[RFC822_DATE_BUFFSIZE];
 
        tmp = g_strdup_printf("%s%ccancel%p", get_tmp_dir(),
                              G_DIR_SEPARATOR, msginfo);
@@ -945,7 +945,10 @@ gint news_cancel_article(Folder * folder, MsgInfo * msginfo)
                g_warning("can't change file mode");
        }
        
-       get_rfc822_date(buf, sizeof(buf));
+       if (prefs_common.hide_timezone)
+               get_rfc822_date_hide_tz(date, sizeof(date));
+       else
+               get_rfc822_date(date, sizeof(date));
        if (fprintf(tmpfp, "From: %s\r\n"
                       "Newsgroups: %s\r\n"
                       "Subject: cmsg cancel <%s>\r\n"
@@ -961,7 +964,7 @@ gint news_cancel_article(Folder * folder, MsgInfo * msginfo)
                       msginfo->msgid,
                       msginfo->from,
                       msginfo->from,
-                      buf) < 0) {
+                      date) < 0) {
                FILE_OP_ERROR(tmp, "fprintf");
                fclose(tmpfp);
                claws_unlink(tmp);
@@ -1133,6 +1136,8 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                        REMOTE_FOLDER(item->folder)->session = NULL;
                }
                news_folder_unlock(NEWS_FOLDER(item->folder));
+               if (hdrlist != NULL)
+                       newsnntp_xhdr_free(hdrlist);
                return;
        }
 
@@ -1146,6 +1151,7 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                }
        }
        newsnntp_xhdr_free(hdrlist);
+       hdrlist = NULL;
        
 /* To */
        ok = nntp_threaded_xhdr(item->folder, "to", first, last, &hdrlist);
@@ -1157,6 +1163,8 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                        REMOTE_FOLDER(item->folder)->session = NULL;
                }
                news_folder_unlock(NEWS_FOLDER(item->folder));
+               if (hdrlist != NULL)
+                       newsnntp_xhdr_free(hdrlist);
                return;
        }
 
@@ -1170,6 +1178,7 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                }
        }
        newsnntp_xhdr_free(hdrlist);
+       hdrlist = NULL;
        
 /* Cc */
        ok = nntp_threaded_xhdr(item->folder, "cc", first, last, &hdrlist);
@@ -1181,6 +1190,8 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                        REMOTE_FOLDER(item->folder)->session = NULL;
                }
                news_folder_unlock(NEWS_FOLDER(item->folder));
+               if (hdrlist != NULL)
+                       newsnntp_xhdr_free(hdrlist);
                return;
        }
 
@@ -1194,7 +1205,7 @@ static void news_get_extra_fields(NewsSession *session, FolderItem *item, GSList
                }
        }
        newsnntp_xhdr_free(hdrlist);
-       
+       hdrlist = NULL;
 
        g_hash_table_destroy(hash_table);
        news_folder_unlock(NEWS_FOLDER(item->folder));
@@ -1232,6 +1243,8 @@ static GSList *news_get_msginfos_for_range(NewsSession *session, FolderItem *ite
                        REMOTE_FOLDER(item->folder)->session = NULL;
                }
                news_folder_unlock(NEWS_FOLDER(item->folder));
+               if (msglist != NULL)
+                       newsnntp_xover_resp_list_free(msglist);
                return NULL;
        }