diff options
author | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 01:09:37 +0000 |
---|---|---|
committer | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 01:09:37 +0000 |
commit | ffe7c392b591041fe69d9c57e4c816865f6d8c86 (patch) | |
tree | 27a8cf8e62a9663268c7c689b9dce9a8f76782db /chrome/browser/chromeos | |
parent | 00c0cd9eb63398ed1ae5308d384451cd4fb66b88 (diff) | |
download | chromium_src-ffe7c392b591041fe69d9c57e4c816865f6d8c86.zip chromium_src-ffe7c392b591041fe69d9c57e4c816865f6d8c86.tar.gz chromium_src-ffe7c392b591041fe69d9c57e4c816865f6d8c86.tar.bz2 |
Fix ChromeOS crash when device_path is NULL.
TEST=None
BUG=1698
Review URL: http://codereview.chromium.org/661230
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40188 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index 75fa367..7365190 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -205,7 +205,7 @@ void NetworkLibrary::ParseNetworks( bool connected = service.state == chromeos::STATE_READY; // if connected, get ip config std::string ip_address; - if (connected) { + if (connected && service.device_path) { chromeos::IPConfigStatus* ipconfig_status = chromeos::ListIPConfigs(service.device_path); if (ipconfig_status) { @@ -230,10 +230,13 @@ void NetworkLibrary::ParseNetworks( if (service.type == chromeos::TYPE_ETHERNET) { ethernet->connecting = connecting; ethernet->connected = connected; - ethernet->device_path = service.device_path; + ethernet->device_path = service.device_path ? service.device_path : + std::string(); ethernet->ip_address = ip_address; } else if (service.type == chromeos::TYPE_WIFI) { - wifi_networks->push_back(WifiNetwork(service.device_path, + wifi_networks->push_back(WifiNetwork(service.device_path ? + service.device_path : + std::string(), service.ssid, service.needs_passphrase, service.encryption, @@ -242,7 +245,9 @@ void NetworkLibrary::ParseNetworks( connected, ip_address)); } else if (service.type == chromeos::TYPE_CELLULAR) { - cellular_networks->push_back(CellularNetwork(service.device_path, + cellular_networks->push_back(CellularNetwork(service.device_path ? + service.device_path : + std::string(), service.ssid, service.signal_strength, connecting, |