diff options
-rw-r--r-- | Source/cmAddExecutableCommand.cxx | 6 | ||||
-rw-r--r-- | Source/cmAddLibraryCommand.cxx | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmAddExecutableCommand.cxx b/Source/cmAddExecutableCommand.cxx index 0bc2a7a..f70e790 100644 --- a/Source/cmAddExecutableCommand.cxx +++ b/Source/cmAddExecutableCommand.cxx @@ -49,6 +49,12 @@ bool cmAddExecutableCommand::InitialPass(std::vector<std::string> const& args) } } + if (s == args.end()) + { + this->SetError("called with incorrect number of arguments, no sources provided"); + return false; + } + std::vector<std::string> srclists(s, args.end()); cmTarget* tgt = m_Makefile->AddExecutable(exename.c_str(), srclists); if ( use_win32 ) diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx index cb7c2d7..9af872c 100644 --- a/Source/cmAddLibraryCommand.cxx +++ b/Source/cmAddLibraryCommand.cxx @@ -26,7 +26,8 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args) } // Library type defaults to value of BUILD_SHARED_LIBS, if it exists, // otherwise it defaults to static library. - int shared = !cmSystemTools::IsOff(m_Makefile->GetDefinition("BUILD_SHARED_LIBS")); + int shared = + !cmSystemTools::IsOff(m_Makefile->GetDefinition("BUILD_SHARED_LIBS")); std::vector<std::string>::const_iterator s = args.begin(); @@ -57,6 +58,12 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args) } } + if (s == args.end()) + { + this->SetError("called with incorrect number of arguments, no sources provided"); + return false; + } + std::vector<std::string> srclists; while (s != args.end()) { |