diff options
-rw-r--r-- | Source/cmAddCustomCommandCommand.cxx | 10 | ||||
-rw-r--r-- | Source/cmAddCustomTargetCommand.cxx | 10 |
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()) { |