summaryrefslogtreecommitdiffstats
path: root/chrome/browser/geolocation/wifi_data_provider_mac.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/geolocation/wifi_data_provider_mac.cc')
-rw-r--r--chrome/browser/geolocation/wifi_data_provider_mac.cc7
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