[Bug 173964] kmail crashes while parsing ~/.procmailrc
George Kiagiadakis
gkiagiad at csd.uoc.gr
Sun Nov 16 11:21:37 GMT 2008
http://bugs.kde.org/show_bug.cgi?id=173964
George Kiagiadakis gkiagiad csd uoc gr changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gkiagiad at csd.uoc.gr
AssignedTo|bugsquad-triage at kde.org |kdepim-bugs at kde.org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |triaged
Summary|kmail crashed when local |kmail crashes while parsing
|mailbox added. |~/.procmailrc
--- Comment #3 from George Kiagiadakis <gkiagiad csd uoc gr> 2008-11-16 12:21:35 ---
This crash is not related to the local mailbox, it is related to parsing your
~/.procmailrc file.
I can't reproduce myself, but l had a look at the code and it seems possible to
have such a crash.
The backtrace says Q_ASSERT was called from:
#12 0xb7aa6d88 in KMail::ProcmailRCParser::processLocalLock (this=0xbfc29f74,
s=@0xbfc29ee0) at /usr/include/qt4/QtCore/qstring.h:830
and qstring.h:830 is in QString::operator[]. Having a look at this
processLocalLock() function, it seems possible that it crashes in this code:
// parse until we find the spoolfile
QString line, prevLine;
do {
prevLine = line;
line = mStream->readLine().trimmed();
} while ( !mStream->atEnd() && (line[0] == '*' ||
prevLine[prevLine.length() - 1] == '\\' ));
note that prevLine[prevLine.length() - 1] could try to read prevLine[-1] if
length() is 0 (i.e. the previous line is empty), and this assertion in
QString::operator[] tries to ensure that the index is always >= 0
PS: possible temporary workaround: remove all empty lines from ~/.procmailrc :P
--
Configure bugmail: http://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Kdepim-bugs
mailing list