From 26e9f25a3ee260b95be7e08e0236698c50053290 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 21 Aug 2012 15:06:08 +0200 Subject: [PATCH] reject utf-8 boms ... like qmake does Change-Id: I0724d1981278d0e7c4d7b4d4cfa435adaf3622ee Reviewed-by: Daniel Teske --- src/shared/proparser/qmakeparser.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/shared/proparser/qmakeparser.cpp b/src/shared/proparser/qmakeparser.cpp index 7d84a12dbd7..055cb3e7e94 100644 --- a/src/shared/proparser/qmakeparser.cpp +++ b/src/shared/proparser/qmakeparser.cpp @@ -214,7 +214,15 @@ bool QMakeParser::read(ProFile *pro) return false; } - QString content(QString::fromLocal8Bit(file.readAll())); + QByteArray bcont = file.readAll(); + if (bcont.startsWith(QByteArray("\xef\xbb\xbf"))) { + // UTF-8 BOM will cause subtle errors + m_handler->message(QMakeParserHandler::ParserIoError, + fL1S("Unexpected UTF-8 BOM in %1").arg(pro->fileName())); + return false; + } + QString content(QString::fromLocal8Bit(bcont)); + bcont.clear(); file.close(); return read(pro, content, FullGrammar); }