summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmAddCustomCommandCommand.cxx10
-rw-r--r--Source/cmAddCustomTargetCommand.cxx10
2 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmAddCustomCommandCommand.cxx b/Source/cmAddCustomCommandCommand.cxx
index ac1f4eb..138d96f 100644
--- a/Source/cmAddCustomCommandCommand.cxx
+++ b/Source/cmAddCustomCommandCommand.cxx
@@ -171,6 +171,16 @@ bool cmAddCustomCommandCommand::InitialPass(std::vector<std::string> const& args
return false;
}
+ std::string::size_type pos = output.find_first_of("#<>");
+ if(pos != output.npos)
+ {
+ cmOStringStream msg;
+ msg << "called with OUTPUT containing a \"" << output[pos]
+ << "\". This character is not allowed.";
+ this->SetError(msg.str().c_str());
+ return false;
+ }
+
// Choose which mode of the command to use.
if(source.empty() && output.empty())
{
diff --git a/Source/cmAddCustomTargetCommand.cxx b/Source/cmAddCustomTargetCommand.cxx
index ceb5241..02ae161 100644
--- a/Source/cmAddCustomTargetCommand.cxx
+++ b/Source/cmAddCustomTargetCommand.cxx
@@ -90,6 +90,16 @@ bool cmAddCustomTargetCommand::InitialPass(std::vector<std::string> const& args)
}
}
+ std::string::size_type pos = args[0].find_first_of("#<>");
+ if(pos != args[0].npos)
+ {
+ cmOStringStream msg;
+ msg << "called with target name containing a \"" << args[0][pos]
+ << "\". This character is not allowed.";
+ this->SetError(msg.str().c_str());
+ return false;
+ }
+
// Store the last command line finished.
if(!currentLine.empty())
{