From d830e47bdd7e4cc3a566f0a90aa5f9fec8d30df2 Mon Sep 17 00:00:00 2001 From: Neil Date: Sat, 31 May 2014 13:41:47 +1000 Subject: Safer handling of "#define X" which caused fault in debug build with Visual C++. --- lexers/LexCPP.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lexers/LexCPP.cxx') diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index b8b48aa52..b7ff1859b 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -1211,7 +1211,7 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle, while ((endName < restOfLine.length()) && setWord.Contains(static_cast(restOfLine[endName]))) endName++; std::string key = restOfLine.substr(startName, endName-startName); - if (restOfLine[endName] == '(') { + if ((endName < restOfLine.length()) && (restOfLine.at(endName) == '(')) { // Macro size_t endArgs = endName; while ((endArgs < restOfLine.length()) && (restOfLine[endArgs] != ')')) -- cgit v1.2.3