metricsd: Add more assert clause.

This CL adds two more checks:
* When populating a closed log with the metadata, make sure the
  SystemProfileSetter is not null.
* When using the update engine client library, check if the update
  engine client object was created correctly. The returning object can
  be null if update engine's binder service is not running.

Bug: 26731548

Change-Id: I8a615c87f33e15a163d56ccfa3a932a0908aac5f
This commit is contained in:
Bertrand SIMONNET 2016-01-22 13:15:54 -08:00
parent 7fc87c9bc2
commit f1aa372f77
2 changed files with 5 additions and 0 deletions

View file

@ -85,5 +85,6 @@ void MetricsLog::IncrementUncleanShutdownCount(unsigned int count) {
}
bool MetricsLog::PopulateSystemProfile(SystemProfileSetter* profile_setter) {
CHECK(profile_setter);
return profile_setter->Populate(uma_proto());
}

View file

@ -80,6 +80,10 @@ bool SystemProfileCache::Initialize() {
} else {
reader.Load();
auto client = update_engine::UpdateEngineClient::CreateInstance();
if (!client) {
LOG(ERROR) << "failed to create the update engine client";
return false;
}
if (!client->GetChannel(&channel)) {
LOG(ERROR) << "failed to read the current channel from update engine.";
return false;