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

Unified Diff: chromeos/network/network_state_handler.cc

Issue 1562593002: Fix potential crashes in NetworkHandler code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test
Patch Set: Use NetworkStateHanlerObserver::IsShuttingDown instead Created 4 years, 11 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
Index: chromeos/network/network_state_handler.cc
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index 5f4738a6cdfa0335e61aa025d72dfdf589114e36..6483446c0063942443f4a451536eb791b17aef41 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -71,11 +71,14 @@ NetworkStateHandler::NetworkStateHandler() : network_list_sorted_(false) {
}
NetworkStateHandler::~NetworkStateHandler() {
- FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, IsShuttingDown());
STLDeleteContainerPointers(network_list_.begin(), network_list_.end());
STLDeleteContainerPointers(device_list_.begin(), device_list_.end());
}
+void NetworkStateHandler::Shutdown() {
+ FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, IsShuttingDown());
+}
+
void NetworkStateHandler::InitShillPropertyHandler() {
shill_property_handler_.reset(new internal::ShillPropertyHandler(this));
shill_property_handler_->Init();
@@ -92,20 +95,21 @@ void NetworkStateHandler::AddObserver(
NetworkStateHandlerObserver* observer,
const tracked_objects::Location& from_here) {
observers_.AddObserver(observer);
- device_event_log::AddEntry(from_here.file_name(), from_here.line_number(),
- device_event_log::LOG_TYPE_NETWORK,
- device_event_log::LOG_LEVEL_DEBUG,
- "NetworkStateHandler::AddObserver");
+ device_event_log::AddEntry(
+ from_here.file_name(), from_here.line_number(),
+ device_event_log::LOG_TYPE_NETWORK, device_event_log::LOG_LEVEL_DEBUG,
+ base::StringPrintf("NetworkStateHandler::AddObserver: 0x%p", observer));
}
void NetworkStateHandler::RemoveObserver(
NetworkStateHandlerObserver* observer,
const tracked_objects::Location& from_here) {
observers_.RemoveObserver(observer);
- device_event_log::AddEntry(from_here.file_name(), from_here.line_number(),
- device_event_log::LOG_TYPE_NETWORK,
- device_event_log::LOG_LEVEL_DEBUG,
- "NetworkStateHandler::RemoveObserver");
+ device_event_log::AddEntry(
+ from_here.file_name(), from_here.line_number(),
+ device_event_log::LOG_TYPE_NETWORK, device_event_log::LOG_LEVEL_DEBUG,
+ base::StringPrintf("NetworkStateHandler::RemoveObserver: 0x%p",
+ observer));
}
NetworkStateHandler::TechnologyState NetworkStateHandler::GetTechnologyState(

Powered by Google App Engine
This is Rietveld 408576698