Fix segfault in IMAP folder parsing

Thanks to Francois Andriot for the patch!
(cherry picked from commit 9b43d6e180)
v3.5.13-sru
Slávek Banko 12 years ago
parent ead8cb696e
commit 3d99c1cbba

@ -1354,10 +1354,10 @@ void imapParser::parseBody (parseString & inWords)
label = parseOneWordC (inWords);
}
if (inWords[0] == ')')
if (!inWords.isEmpty () && inWords[0] == ')')
inWords.pos++;
}
if (inWords[0] == ']')
if (!inWords.isEmpty () && inWords[0] == ']')
inWords.pos++;
skipWS (inWords);
@ -1479,6 +1479,7 @@ void imapParser::parseFetch (ulong /* value */, parseString & inWords)
{
TQCString word = parseLiteralC(inWords, false, true);
if(!word.isEmpty()) {
switch (word[0])
{
case 'E':
@ -1602,6 +1603,9 @@ void imapParser::parseFetch (ulong /* value */, parseString & inWords)
parseLiteralC(inWords);
break;
}
} else {
parseLiteralC(inWords);
}
}
}

Loading…
Cancel
Save