Resolve segfault when running send-broadcast command while

statscompanion service is not connected

Test: statsd, statsd_test

Change-Id: Ie98de1884f8d852c31c14db146d3da44cfc5aa8b
This commit is contained in:
yro
2017-11-17 15:44:48 -08:00
parent b3bd84d71d
commit 4d889e635d

View File

@@ -320,9 +320,15 @@ status_t StatsService::cmd_trigger_broadcast(FILE* out, Vector<String8>& args) {
return UNKNOWN_ERROR;
}
auto receiver = mConfigManager->GetConfigReceiver(ConfigKey(uid, name));
auto sc = getStatsCompanionService();
sc->sendBroadcast(String16(receiver.first.c_str()), String16(receiver.second.c_str()));
ALOGD("StatsService::trigger broadcast succeeded to %s, %s", args[1].c_str(), args[2].c_str());
sp<IStatsCompanionService> sc = getStatsCompanionService();
if (sc != nullptr) {
sc->sendBroadcast(String16(receiver.first.c_str()), String16(receiver.second.c_str()));
ALOGD("StatsService::trigger broadcast succeeded to %s, %s", args[1].c_str(),
args[2].c_str());
} else {
ALOGD("Could not access statsCompanion");
}
return NO_ERROR;
}