mirror of https://github.com/Icinga/icinga2.git
Fix external commands comments crashing icinga
Now an exception will be thrown when AddSvcComment or AddHostComment are run with and empty Author or comment fixes #11112
This commit is contained in:
parent
418636f7da
commit
0e70165bc9
|
@ -1228,6 +1228,9 @@ void ExternalCommandProcessor::AddHostComment(double, const std::vector<String>&
|
||||||
if (!host)
|
if (!host)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add host comment for non-existent host '" + arguments[0] + "'"));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add host comment for non-existent host '" + arguments[0] + "'"));
|
||||||
|
|
||||||
|
if (arguments[2].IsEmpty() || arguments[3].IsEmpty())
|
||||||
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Author and comment may not be empty"));
|
||||||
|
|
||||||
Log(LogNotice, "ExternalCommandProcessor")
|
Log(LogNotice, "ExternalCommandProcessor")
|
||||||
<< "Creating comment for host " << host->GetName();
|
<< "Creating comment for host " << host->GetName();
|
||||||
(void) Comment::AddComment(host, CommentUser, arguments[2], arguments[3], 0);
|
(void) Comment::AddComment(host, CommentUser, arguments[2], arguments[3], 0);
|
||||||
|
@ -1249,6 +1252,9 @@ void ExternalCommandProcessor::AddSvcComment(double, const std::vector<String>&
|
||||||
if (!service)
|
if (!service)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add service comment for non-existent service '" + arguments[1] + "' on host '" + arguments[0] + "'"));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Cannot add service comment for non-existent service '" + arguments[1] + "' on host '" + arguments[0] + "'"));
|
||||||
|
|
||||||
|
if (arguments[3].IsEmpty() || arguments[4].IsEmpty())
|
||||||
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Author and comment may not be empty"));
|
||||||
|
|
||||||
Log(LogNotice, "ExternalCommandProcessor")
|
Log(LogNotice, "ExternalCommandProcessor")
|
||||||
<< "Creating comment for service " << service->GetName();
|
<< "Creating comment for service " << service->GetName();
|
||||||
(void) Comment::AddComment(service, CommentUser, arguments[3], arguments[4], 0);
|
(void) Comment::AddComment(service, CommentUser, arguments[3], arguments[4], 0);
|
||||||
|
|
Loading…
Reference in New Issue