Correctly handle XML parsing errors

PR #16071.
This commit is contained in:
Vladimir Golovnev 2022-01-13 09:36:08 +03:00 committed by GitHub
parent 7c37c5c06f
commit 5f623e32c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -591,16 +591,16 @@ void Parser::parse_impl(const QByteArray &feedData)
xml.skipCurrentElement(); xml.skipCurrentElement();
} }
if (!foundChannel) if (xml.hasError())
{
m_result.error = tr("Invalid RSS feed.");
}
else if (xml.hasError())
{ {
m_result.error = tr("%1 (line: %2, column: %3, offset: %4).") m_result.error = tr("%1 (line: %2, column: %3, offset: %4).")
.arg(xml.errorString()).arg(xml.lineNumber()) .arg(xml.errorString()).arg(xml.lineNumber())
.arg(xml.columnNumber()).arg(xml.characterOffset()); .arg(xml.columnNumber()).arg(xml.characterOffset());
} }
else if (!foundChannel)
{
m_result.error = tr("Invalid RSS feed.");
}
emit finished(m_result); emit finished(m_result);
m_result.articles.clear(); // clear articles only m_result.articles.clear(); // clear articles only