summaryrefslogtreecommitdiffstats
path: root/clang/lib/ARCMigrate/ObjCMT.cpp
diff options
context:
space:
mode:
authorAlp Toker <alp@nuanti.com>2014-01-26 05:08:49 +0000
committerAlp Toker <alp@nuanti.com>2014-01-26 05:08:49 +0000
commit046cda538c82c30104ba60232d4c3ed30ee41a64 (patch)
tree2e2173f2e3cf4835420df52b7d4e7016ff3caa2c /clang/lib/ARCMigrate/ObjCMT.cpp
parent4af8fa9ae42eea771f56f45658d3c182d2c5f4f6 (diff)
downloadbcm5719-llvm-046cda538c82c30104ba60232d4c3ed30ee41a64.tar.gz
bcm5719-llvm-046cda538c82c30104ba60232d4c3ed30ee41a64.zip
Identify two more unsafe uses of getCustomDiagID()
llvm-svn: 200126
Diffstat (limited to 'clang/lib/ARCMigrate/ObjCMT.cpp')
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index af88cb6bc1f..39370b98234 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -1845,6 +1845,8 @@ void ObjCMigrateASTConsumer::HandleTranslationUnit(ASTContext &Ctx) {
std::string Error;
llvm::raw_fd_ostream OS(MigrateDir.c_str(), Error, llvm::sys::fs::F_Binary);
if (!Error.empty()) {
+ // FIXME: It's not safe to pass arbitrary user-generated strings into
+ // getCustomDiagID(). Use a constant diagnostic ID instead.
unsigned ID = Ctx.getDiagnostics().getDiagnosticIDs()->
getCustomDiagID(DiagnosticIDs::Error, Error);
Ctx.getDiagnostics().Report(ID);
@@ -2061,6 +2063,8 @@ private:
static bool reportDiag(const Twine &Err, DiagnosticsEngine &Diag) {
SmallString<128> Buf;
+ // FIXME: It's not safe to pass arbitrary user-generated strings into
+ // getCustomDiagID(). Use a constant diagnostic ID instead.
unsigned ID = Diag.getDiagnosticIDs()->getCustomDiagID(DiagnosticIDs::Error,
Err.toStringRef(Buf));
Diag.Report(ID);
OpenPOWER on IntegriCloud