author | alwin <alwin> | 2003-12-10 12:45:01 (UTC) |
---|---|---|
committer | alwin <alwin> | 2003-12-10 12:45:01 (UTC) |
commit | 66aa51039689ab2dab153469d7f6527bcedd9318 (patch) (side-by-side diff) | |
tree | d27e68fa02af9c50514b9d9effcd67e28b86f66d | |
parent | b09fe710918a447f37c7ec92a6becb9953ada063 (diff) | |
download | opie-66aa51039689ab2dab153469d7f6527bcedd9318.zip opie-66aa51039689ab2dab153469d7f6527bcedd9318.tar.gz opie-66aa51039689ab2dab153469d7f6527bcedd9318.tar.bz2 |
when login failed for pop3 software crashed due not checked NULL pointer
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 1 | ||||
-rw-r--r-- | noncore/net/mail/pop3wrapper.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 2aaff30..72f3c36 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -14,32 +14,33 @@ POP3wrapper::~POP3wrapper() logout(); } void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { qDebug( "POP3: %i of %i", current, maximum ); } void POP3wrapper::listMessages( QList<RecMail> &target ) { int err = MAILPOP3_NO_ERROR; char *header; size_t length; carray *messages; login(); + if (!m_pop3) return; mailpop3_list( m_pop3, &messages ); for ( int i = carray_count( messages ); i > 0; i-- ) { mailpop3_msg_info *info = (mailpop3_msg_info *) carray_get( messages, i - 1 ); err = mailpop3_header( m_pop3, info->index, &header, &length ); if ( err != MAILPOP3_NO_ERROR ) { qDebug( "POP3: error retrieving header msgid: %i", info->index ); logout(); return; } RecMail *mail = parseHeader( header ); mail->setNumber( info->index ); target.append( mail ); } diff --git a/noncore/net/mail/pop3wrapper.cpp b/noncore/net/mail/pop3wrapper.cpp index 2aaff30..72f3c36 100644 --- a/noncore/net/mail/pop3wrapper.cpp +++ b/noncore/net/mail/pop3wrapper.cpp @@ -14,32 +14,33 @@ POP3wrapper::~POP3wrapper() logout(); } void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { qDebug( "POP3: %i of %i", current, maximum ); } void POP3wrapper::listMessages( QList<RecMail> &target ) { int err = MAILPOP3_NO_ERROR; char *header; size_t length; carray *messages; login(); + if (!m_pop3) return; mailpop3_list( m_pop3, &messages ); for ( int i = carray_count( messages ); i > 0; i-- ) { mailpop3_msg_info *info = (mailpop3_msg_info *) carray_get( messages, i - 1 ); err = mailpop3_header( m_pop3, info->index, &header, &length ); if ( err != MAILPOP3_NO_ERROR ) { qDebug( "POP3: error retrieving header msgid: %i", info->index ); logout(); return; } RecMail *mail = parseHeader( header ); mail->setNumber( info->index ); target.append( mail ); } |