diff options
Diffstat (limited to 'chrome/browser/geolocation/wifi_data_provider_mac.cc')
| -rw-r--r-- | chrome/browser/geolocation/wifi_data_provider_mac.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/geolocation/wifi_data_provider_mac.cc b/chrome/browser/geolocation/wifi_data_provider_mac.cc index 804f9a6..fbac4cd 100644 --- a/chrome/browser/geolocation/wifi_data_provider_mac.cc +++ b/chrome/browser/geolocation/wifi_data_provider_mac.cc @@ -103,6 +103,7 @@ bool Apple80211Api::GetAccessPointData(WifiData::AccessPointDataSet* data) { DCHECK(WirelessScanSplit_function_); CFArrayRef managed_access_points = NULL; CFArrayRef adhoc_access_points = NULL; + // Arrays returned here are owned by the caller. WIErr err = (*WirelessScanSplit_function_)(wifi_context_, &managed_access_points, &adhoc_access_points, @@ -144,6 +145,12 @@ bool Apple80211Api::GetAccessPointData(WifiData::AccessPointDataSet* data) { } data->insert(access_point_data); } + + if (managed_access_points) + CFRelease(managed_access_points); + if (adhoc_access_points) + CFRelease(adhoc_access_points); + return true; } } // namespace |
