diff --git a/src/libs/qmuparser/qmuparsertest.cpp b/src/libs/qmuparser/qmuparsertest.cpp index 26c76f117..9f2d928a1 100644 --- a/src/libs/qmuparser/qmuparsertest.cpp +++ b/src/libs/qmuparser/qmuparsertest.cpp @@ -80,7 +80,7 @@ int QmuParserTester::IsHexVal ( const QString &a_szExpr, int *a_iPos, qreal *a_f Q_UNUSED(locale) Q_UNUSED(decimal) Q_UNUSED(thousand) - if ( a_szExpr.data()[1] == 0 || ( a_szExpr.data()[0] != '0' || a_szExpr.data()[1] != 'x' ) ) + if ( a_szExpr.size() <= 2 || ( a_szExpr.at(0) != '0' || a_szExpr.at(1) != 'x' ) ) { return 0; } diff --git a/src/libs/qmuparser/qmuparsertokenreader.cpp b/src/libs/qmuparser/qmuparsertokenreader.cpp index 7545302f5..c3ce39fed 100644 --- a/src/libs/qmuparser/qmuparsertokenreader.cpp +++ b/src/libs/qmuparser/qmuparsertokenreader.cpp @@ -221,7 +221,7 @@ QmuParserTokenReader::token_type QmuParserTokenReader::ReadNextToken(const QLoca token_type tok; // Ignore all non printable characters when reading the expression - while (m_strFormula.at(m_iPos) > QChar() && m_strFormula.at(m_iPos) <= QChar(0x20)) + while (m_strFormula.size() > m_iPos && m_strFormula.at(m_iPos) <= QChar(0x20)) { ++m_iPos; }