From e3edb83c51c531670bef8850a0504de56d47c7a9 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 29 Jul 2004 11:45:14 -0400 Subject: [PATCH] BUG: Fixed crash when optimized/debug argument is not followed by a value. --- Source/cmLinkLibrariesCommand.cxx | 10 ++++++++++ Source/cmTargetLinkLibrariesCommand.cxx | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/Source/cmLinkLibrariesCommand.cxx b/Source/cmLinkLibrariesCommand.cxx index 56d493716..c34cd3c77 100644 --- a/Source/cmLinkLibrariesCommand.cxx +++ b/Source/cmLinkLibrariesCommand.cxx @@ -31,12 +31,22 @@ bool cmLinkLibrariesCommand::InitialPass(std::vector const& args) if (*i == "debug") { ++i; + if(i == args.end()) + { + this->SetError("The \"debug\" argument must be followed by a library"); + return false; + } m_Makefile->AddLinkLibrary(i->c_str(), cmTarget::DEBUG); } else if (*i == "optimized") { ++i; + if(i == args.end()) + { + this->SetError("The \"optimized\" argument must be followed by a library"); + return false; + } m_Makefile->AddLinkLibrary(i->c_str(), cmTarget::OPTIMIZED); } diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx index 1237fac7e..b91778127 100644 --- a/Source/cmTargetLinkLibrariesCommand.cxx +++ b/Source/cmTargetLinkLibrariesCommand.cxx @@ -42,12 +42,22 @@ bool cmTargetLinkLibrariesCommand::InitialPass(std::vector const& a if (*i == "debug") { ++i; + if(i == args.end()) + { + this->SetError("The \"debug\" argument must be followed by a library"); + return false; + } m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(), cmTarget::DEBUG); } else if (*i == "optimized") { ++i; + if(i == args.end()) + { + this->SetError("The \"optimized\" argument must be followed by a library"); + return false; + } m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(), cmTarget::OPTIMIZED); }