Sorry for the delay ... can you still reproduce this crash?
Yes, I can. But I have new informations: the pop3 server I used was buggy: it sent twice some lines in the answer to the UIDL command. In the function GetList (nsPop3Protocol.cpp) m_listpos is incremented at each line of the UIDL answer. As this bug is due to a grave bug in the server, I don't know if you will want to correct it. If you want to do so, it is an easy thing:
As m_pop3ConData is initialized to 0 by PR_NEWZAP, changing if (token) { msg_num = atol(token); m_listpos++; if(m_listpos <= m_pop3ConData->number_of_messages && m_listpos > 0) { token = nsCRT::strtok(newStr, " ", &newStr); if (token) { m_pop3ConData->msg_info[m_listpos-1].size = atol(token); m_pop3ConData->msg_info[m_listpos-1].msgnum = msg_num; } } } into if (token) { msg_num = atol(token); if(!m_pop3ConData->msg_info[m_listpos-1].msgnum) { m_listpos++; if(m_listpos <= m_pop3ConData->number_of_messages && m_listpos > 0) { token = nsCRT::strtok(newStr, " ", &newStr); if (token) { m_pop3ConData->msg_info[m_listpos-1].size = atol(token); m_pop3ConData->msg_info[m_listpos-1].msgnum = msg_num; } } } } would solve the problem. Regards, Nicolas -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]