author | alwin <alwin> | 2003-12-24 14:18:28 (UTC) |
---|---|---|
committer | alwin <alwin> | 2003-12-24 14:18:28 (UTC) |
commit | 9d2a848b254d6c859d7054d486eedac6535d26ec (patch) (side-by-side diff) | |
tree | d3cb3479465b1cc6ef4b67898fc9649f8416c3da | |
parent | c609fd3341bccf6150e313f4fa08ff3ca9086503 (diff) | |
download | opie-9d2a848b254d6c859d7054d486eedac6535d26ec.zip opie-9d2a848b254d6c859d7054d486eedac6535d26ec.tar.gz opie-9d2a848b254d6c859d7054d486eedac6535d26ec.tar.bz2 |
hopefully fixed some memleaks and some not initialized vars
-rw-r--r-- | noncore/net/mail/genericwrapper.cpp | 6 | ||||
-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 12 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/genericwrapper.cpp | 6 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 12 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailwrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mboxwrapper.cpp | 12 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 33 | ||||
-rw-r--r-- | noncore/net/mail/mailwrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/mboxwrapper.cpp | 12 | ||||
-rw-r--r-- | noncore/net/mail/smtpwrapper.cpp | 33 |
10 files changed, 84 insertions, 46 deletions
diff --git a/noncore/net/mail/genericwrapper.cpp b/noncore/net/mail/genericwrapper.cpp index 447cad0..c1b6e48 100644 --- a/noncore/net/mail/genericwrapper.cpp +++ b/noncore/net/mail/genericwrapper.cpp @@ -192,7 +192,7 @@ RecMail *Genericwrapper::parseHeader( const char *header ) size_t curTok = 0; RecMail *mail = new RecMail(); - mailimf_fields *fields; - mailimf_references * refs; - mailimf_keywords*keys; + mailimf_fields *fields = 0; + mailimf_references * refs = 0; + mailimf_keywords*keys = 0; QString status; QString value; diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index 853e4a2..0178e33 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp @@ -95,11 +95,11 @@ void IMAPwrapper::logout() void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) { - const char *mb; + const char *mb = 0; int err = MAILIMAP_NO_ERROR; - clist *result; + clist *result = 0; clistcell *current; // mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate,*fetchAttSize; - mailimap_fetch_type *fetchType; - mailimap_set *set; + mailimap_fetch_type *fetchType = 0; + mailimap_set *set = 0; mb = mailbox.latin1(); @@ -122,5 +122,4 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) } - result = clist_new(); /* the range has to start at 1!!! not with 0!!!! */ set = mailimap_set_new_interval( 1, last ); @@ -138,5 +137,4 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) if ( err == MAILIMAP_NO_ERROR ) { - mailimap_msg_att * msg_att; int i = 0; @@ -155,5 +153,5 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) qDebug("Error fetching headers: %s",m_imap->imap_response); } - mailimap_fetch_list_free(result); + if (result) mailimap_fetch_list_free(result); } diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp index 447cad0..c1b6e48 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp @@ -192,7 +192,7 @@ RecMail *Genericwrapper::parseHeader( const char *header ) size_t curTok = 0; RecMail *mail = new RecMail(); - mailimf_fields *fields; - mailimf_references * refs; - mailimf_keywords*keys; + mailimf_fields *fields = 0; + mailimf_references * refs = 0; + mailimf_keywords*keys = 0; QString status; QString value; diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 853e4a2..0178e33 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -95,11 +95,11 @@ void IMAPwrapper::logout() void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) { - const char *mb; + const char *mb = 0; int err = MAILIMAP_NO_ERROR; - clist *result; + clist *result = 0; clistcell *current; // mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate,*fetchAttSize; - mailimap_fetch_type *fetchType; - mailimap_set *set; + mailimap_fetch_type *fetchType = 0; + mailimap_set *set = 0; mb = mailbox.latin1(); @@ -122,5 +122,4 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) } - result = clist_new(); /* the range has to start at 1!!! not with 0!!!! */ set = mailimap_set_new_interval( 1, last ); @@ -138,5 +137,4 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) if ( err == MAILIMAP_NO_ERROR ) { - mailimap_msg_att * msg_att; int i = 0; @@ -155,5 +153,5 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) qDebug("Error fetching headers: %s",m_imap->imap_response); } - mailimap_fetch_list_free(result); + if (result) mailimap_fetch_list_free(result); } diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.cpp b/noncore/net/mail/libmailwrapper/mailwrapper.cpp index f8efd09..6479783 100644 --- a/noncore/net/mail/libmailwrapper/mailwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mailwrapper.cpp @@ -56,5 +56,5 @@ QString IMAPFolder::decodeFolderName( const QString &name ) unsigned char base64[256], utf8[6]; unsigned long srcPtr = 0; - QCString dst; + QCString dst = ""; QCString src = name.ascii(); diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp index 293ae1b..6d69263 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp @@ -5,4 +5,5 @@ #include <libetpan/mailstorage.h> #include <qdir.h> +#include <stdlib.h> MBOXwrapper::MBOXwrapper(const QString & mbox_dir) @@ -24,8 +25,11 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) QString p = MBOXPath+"/"; p+=mailbox; + char*fname = 0; - int r = mbox_mailstorage_init(storage,strdup(p.latin1()),0,0,0); + fname = strdup(p.latin1()); + + int r = mbox_mailstorage_init(storage,fname,0,0,0); mailfolder*folder; - folder = mailfolder_new( storage,strdup(p.latin1()),NULL); + folder = mailfolder_new( storage,fname,NULL); r = mailfolder_connect(folder); if (r != MAIL_NO_ERROR) { @@ -33,4 +37,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -41,4 +46,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -51,4 +57,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -104,4 +111,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); } diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp index a7e4837..21992b4 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp @@ -442,5 +442,7 @@ char *SMTPwrapper::getFrom( mailimf_field *ffrom) char *SMTPwrapper::getFrom( mailmime *mail ) { + /* no need to delete - its just a pointer to structure content */ mailimf_field *ffrom = 0; + char*f = 0; ffrom = getField( mail->mm_data.mm_message.mm_fields, MAILIMF_FIELD_FROM ); return getFrom(ffrom); @@ -564,4 +566,7 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) rcpts = createRcptList( mail->mm_data.mm_message.mm_fields ); smtpSend(from,rcpts,data,size,smtp); + if (data) {free(data);} + if (from) {free(from);} + if (rcpts) smtp_address_list_free( rcpts ); } @@ -631,8 +636,5 @@ free_mem_session: mailsmtp_free( session ); free_mem: - if (rcpts) smtp_address_list_free( rcpts ); - if (data) free( data ); if (server) free( server ); - if (from) free( from ); if ( smtp->getLogin() ) { free( user ); @@ -653,5 +655,4 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) } else { sendProgress = new progressMailSend(); -// sendProgress->showMaximized(); sendProgress->show(); sendProgress->setMaxMails(1); @@ -674,4 +675,5 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) clist *rcpts = 0; char*from = 0; + int res = 0; wrap->fetchRawBody(*which,&data,&length); @@ -690,7 +692,20 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) qDebug("Size: %i vs. %i",length,strlen(data)); if (rcpts && from) { - return smtpSend(from,rcpts,data,strlen(data),smtp ); + res = smtpSend(from,rcpts,data,length,smtp ); } - return 0; + if (fields) { + mailimf_fields_free(fields); + fields = 0; + } + if (data) { + free(data); + } + if (from) { + free(from); + } + if (rcpts) { + smtp_address_list_free( rcpts ); + } + return res; } @@ -718,7 +733,6 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) mailsToSend.setAutoDelete(false); sendProgress = new progressMailSend(); -// sendProgress->showMaximized(); - sendProgress->show(); - sendProgress->setMaxMails(mailsToSend.count()); + sendProgress->show(); + sendProgress->setMaxMails(mailsToSend.count()); while (mailsToSend.count()>0) { @@ -741,4 +755,3 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) delete wrap; return returnValue; - } diff --git a/noncore/net/mail/mailwrapper.cpp b/noncore/net/mail/mailwrapper.cpp index f8efd09..6479783 100644 --- a/noncore/net/mail/mailwrapper.cpp +++ b/noncore/net/mail/mailwrapper.cpp @@ -56,5 +56,5 @@ QString IMAPFolder::decodeFolderName( const QString &name ) unsigned char base64[256], utf8[6]; unsigned long srcPtr = 0; - QCString dst; + QCString dst = ""; QCString src = name.ascii(); diff --git a/noncore/net/mail/mboxwrapper.cpp b/noncore/net/mail/mboxwrapper.cpp index 293ae1b..6d69263 100644 --- a/noncore/net/mail/mboxwrapper.cpp +++ b/noncore/net/mail/mboxwrapper.cpp @@ -5,4 +5,5 @@ #include <libetpan/mailstorage.h> #include <qdir.h> +#include <stdlib.h> MBOXwrapper::MBOXwrapper(const QString & mbox_dir) @@ -24,8 +25,11 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) QString p = MBOXPath+"/"; p+=mailbox; + char*fname = 0; - int r = mbox_mailstorage_init(storage,strdup(p.latin1()),0,0,0); + fname = strdup(p.latin1()); + + int r = mbox_mailstorage_init(storage,fname,0,0,0); mailfolder*folder; - folder = mailfolder_new( storage,strdup(p.latin1()),NULL); + folder = mailfolder_new( storage,fname,NULL); r = mailfolder_connect(folder); if (r != MAIL_NO_ERROR) { @@ -33,4 +37,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -41,4 +46,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -51,4 +57,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); return; } @@ -104,4 +111,5 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) mailfolder_free(folder); mailstorage_free(storage); + free(fname); } diff --git a/noncore/net/mail/smtpwrapper.cpp b/noncore/net/mail/smtpwrapper.cpp index a7e4837..21992b4 100644 --- a/noncore/net/mail/smtpwrapper.cpp +++ b/noncore/net/mail/smtpwrapper.cpp @@ -442,5 +442,7 @@ char *SMTPwrapper::getFrom( mailimf_field *ffrom) char *SMTPwrapper::getFrom( mailmime *mail ) { + /* no need to delete - its just a pointer to structure content */ mailimf_field *ffrom = 0; + char*f = 0; ffrom = getField( mail->mm_data.mm_message.mm_fields, MAILIMF_FIELD_FROM ); return getFrom(ffrom); @@ -564,4 +566,7 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) rcpts = createRcptList( mail->mm_data.mm_message.mm_fields ); smtpSend(from,rcpts,data,size,smtp); + if (data) {free(data);} + if (from) {free(from);} + if (rcpts) smtp_address_list_free( rcpts ); } @@ -631,8 +636,5 @@ free_mem_session: mailsmtp_free( session ); free_mem: - if (rcpts) smtp_address_list_free( rcpts ); - if (data) free( data ); if (server) free( server ); - if (from) free( from ); if ( smtp->getLogin() ) { free( user ); @@ -653,5 +655,4 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) } else { sendProgress = new progressMailSend(); -// sendProgress->showMaximized(); sendProgress->show(); sendProgress->setMaxMails(1); @@ -674,4 +675,5 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) clist *rcpts = 0; char*from = 0; + int res = 0; wrap->fetchRawBody(*which,&data,&length); @@ -690,7 +692,20 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) qDebug("Size: %i vs. %i",length,strlen(data)); if (rcpts && from) { - return smtpSend(from,rcpts,data,strlen(data),smtp ); + res = smtpSend(from,rcpts,data,length,smtp ); } - return 0; + if (fields) { + mailimf_fields_free(fields); + fields = 0; + } + if (data) { + free(data); + } + if (from) { + free(from); + } + if (rcpts) { + smtp_address_list_free( rcpts ); + } + return res; } @@ -718,7 +733,6 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) mailsToSend.setAutoDelete(false); sendProgress = new progressMailSend(); -// sendProgress->showMaximized(); - sendProgress->show(); - sendProgress->setMaxMails(mailsToSend.count()); + sendProgress->show(); + sendProgress->setMaxMails(mailsToSend.count()); while (mailsToSend.count()>0) { @@ -741,4 +755,3 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) delete wrap; return returnValue; - } |