Skip to content

Commit df3b826

Browse files
author
Allen Winter
committed
KDReportsXmlParser.cpp - crash check found by coverity in release mode
1 parent 974fc04 commit df3b826

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/KDReports/KDReportsXmlParser.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -527,12 +527,14 @@ bool KDReports::XmlParser::processNode( const QDomNode& node, KDReports::ReportB
527527
return false;
528528
}
529529
Q_ASSERT( builder );
530-
const QString type = element.attribute( QLatin1String( "type" ) );
531-
KDReports::VariableType vt = KDReports::XmlHelper::stringToVariableType( type );
532-
XmlElementHandlerV2* v2 = dynamic_cast<XmlElementHandlerV2 *>(m_xmlElementHandler);
533-
if (v2 && !v2->variable(vt, element))
534-
continue;
535-
builder->addVariablePublic( vt );
530+
if ( builder ) {
531+
const QString type = element.attribute( QLatin1String( "type" ) );
532+
KDReports::VariableType vt = KDReports::XmlHelper::stringToVariableType( type );
533+
XmlElementHandlerV2* v2 = dynamic_cast<XmlElementHandlerV2 *>(m_xmlElementHandler);
534+
if (v2 && !v2->variable(vt, element))
535+
continue;
536+
builder->addVariablePublic( vt );
537+
}
536538
} else if ( name == QLatin1String( "page-break" ) ) {
537539
if ( m_xmlElementHandler && !m_xmlElementHandler->pageBreak( element ) )
538540
continue;
@@ -621,7 +623,7 @@ void KDReports::XmlParser::parseTabs( KDReports::ReportBuilder *builder, const Q
621623
tab.position = pos;
622624
tabs.append( tab );
623625
}
624-
}
626+
}
625627
XmlElementHandlerV2* v2 = dynamic_cast<XmlElementHandlerV2 *>(m_xmlElementHandler);
626628
if (!v2 || v2->tabs(tabs, tabsElement))
627629
builder->setTabPositions( tabs );

0 commit comments

Comments
 (0)