Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1002)

Unified Diff: chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc

Issue 2762293002: Avoid segfault for missing StateKeysBroker (Closed)
Patch Set: Fix error messages Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc
diff --git a/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc b/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc
index 1a6f976f51e85e99b5fd1a6aa46e96c542faad80..59553df7bce9ec2085fe1cc3711a1aa8fdc1d3b2 100644
--- a/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc
+++ b/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc
@@ -217,26 +217,30 @@ AutoEnrollmentController::RegisterProgressCallback(
void AutoEnrollmentController::OnOwnershipStatusCheckDone(
DeviceSettingsService::OwnershipStatus status) {
- switch (status) {
- case DeviceSettingsService::OWNERSHIP_NONE: {
+ policy::ServerBackedStateKeysBroker* state_keys_broker =
bartfab (slow) 2017/03/22 13:17:07 Nit: const
Thiemo Nagel 2017/03/22 13:23:00 ServerBackedStateKeysBroker::RequestStateKeys() is
g_browser_process->platform_part()
->browser_policy_connector_chromeos()
- ->GetStateKeysBroker()
- ->RequestStateKeys(
- base::Bind(&AutoEnrollmentController::StartClient,
- client_start_weak_factory_.GetWeakPtr()));
- break;
- }
- case DeviceSettingsService::OWNERSHIP_TAKEN: {
+ ->GetStateKeysBroker();
+ switch (status) {
+ case DeviceSettingsService::OWNERSHIP_NONE:
+ // TODO(tnagel): Prevent missing state keys broker in the first place.
bartfab (slow) 2017/03/22 13:17:07 Nit: Can you reference a bug number?
Thiemo Nagel 2017/03/22 13:23:00 Done.
+ if (!state_keys_broker) {
+ LOG(ERROR) << "State keys broker missing.";
+ UpdateState(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT);
+ return;
+ }
+ state_keys_broker->RequestStateKeys(
+ base::Bind(&AutoEnrollmentController::StartClient,
+ client_start_weak_factory_.GetWeakPtr()));
+ return;
+ case DeviceSettingsService::OWNERSHIP_TAKEN:
VLOG(1) << "Device already owned, skipping auto-enrollment check.";
UpdateState(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT);
- break;
- }
- case DeviceSettingsService::OWNERSHIP_UNKNOWN: {
+ return;
+ case DeviceSettingsService::OWNERSHIP_UNKNOWN:
LOG(ERROR) << "Ownership unknown, skipping auto-enrollment check.";
UpdateState(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT);
- break;
- }
+ return;
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698