From 93df4e18a255262595acb862ab870e9fed721fb8 Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Wed, 16 Nov 2016 19:19:49 -0800 Subject: [PATCH] init: move empty string check to InitTriggers Test: mma Bug: 32838381 Change-Id: I69203734ef7d3640da75f3e3cbe9254bf468d916 --- init/action.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/init/action.cpp b/init/action.cpp index acbb12e8e..0ea7e1479 100644 --- a/init/action.cpp +++ b/init/action.cpp @@ -157,6 +157,11 @@ bool Action::ParsePropertyTrigger(const std::string& trigger, std::string* err) bool Action::InitTriggers(const std::vector& args, std::string* err) { const static std::string prop_str("property:"); for (std::size_t i = 0; i < args.size(); ++i) { + if (args[i].empty()) { + *err = "empty trigger is not valid"; + return false; + } + if (i % 2) { if (args[i] != "&&") { *err = "&& is the only symbol allowed to concatenate actions"; @@ -186,7 +191,11 @@ bool Action::InitTriggers(const std::vector& args, std::string* err bool Action::InitSingleTrigger(const std::string& trigger) { std::vector name_vector{trigger}; std::string err; - return InitTriggers(name_vector, &err); + bool ret = InitTriggers(name_vector, &err); + if (!ret) { + LOG(ERROR) << "InitSingleTrigger failed due to: " << err; + } + return ret; } // This function checks that all property triggers are satisfied, that is @@ -252,9 +261,7 @@ std::string Action::BuildTriggersString() const { result += event_trigger_; result += ' '; } - if (!result.empty()) { - result.pop_back(); - } + result.pop_back(); return result; }