Commit 6ef8d58a authored by Toni Barzic's avatar Toni Barzic Committed by Commit Bot

Fix FindConfig in cros_component_installed_chromeos

The CL fixes FindConfig implementation to return nullptr for unknown
components.
FindConfig used std::find_if to find a matching component config. For
non-existing elements, find_if returns the last iterator (in this case
std::end(kConfigs)), which is invalid, but non-null.

BUG=None

Change-Id: I53ff08d43131d4f8bfd02c8e02347de095ed6094
Reviewed-on: https://chromium-review.googlesource.com/1164581Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Commit-Queue: Toni Barzic <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581262}
parent 39bdf968
...@@ -47,9 +47,12 @@ const ComponentConfig kConfigs[] = { ...@@ -47,9 +47,12 @@ const ComponentConfig kConfigs[] = {
}; };
const ComponentConfig* FindConfig(const std::string& name) { const ComponentConfig* FindConfig(const std::string& name) {
return std::find_if( const ComponentConfig* config = std::find_if(
std::begin(kConfigs), std::end(kConfigs), std::begin(kConfigs), std::end(kConfigs),
[&name](const ComponentConfig& config) { return config.name == name; }); [&name](const ComponentConfig& config) { return config.name == name; });
if (config == std::end(kConfigs))
return nullptr;
return config;
} }
// TODO(xiaochu): add metrics for component usage (https://crbug.com/793052). // TODO(xiaochu): add metrics for component usage (https://crbug.com/793052).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment