From c279f8366484f97330cf7019c1a2c13532ba6fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 16 Jan 2009 21:30:06 +0000 Subject: [PATCH] preprocessor: bail out code in expandMacros --- src/preprocessor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/preprocessor.cpp b/src/preprocessor.cpp index ba4e5466f..dbd15a280 100644 --- a/src/preprocessor.cpp +++ b/src/preprocessor.cpp @@ -481,6 +481,8 @@ std::string Preprocessor::expandMacros(std::string code) tokenizer.tokenize(istr, ""); if (! tokenizer.tokens()) continue; + if (! tokenizer.tokens()->isName()) + continue; // Extract macro parameters std::vector macroparams; @@ -602,6 +604,7 @@ std::string Preprocessor::expandMacros(std::string code) // Insert macro code.. if (!macroparams.empty()) ++pos2; + code.erase(pos1, pos2 - pos1); code.insert(pos1, macrocode); pos1 += macrocode.length();