From 6d39b72e2d816eb9d54c169d740ab18a445688d9 Mon Sep 17 00:00:00 2001 From: Garvan Keeley Date: Fri, 17 Oct 2014 16:02:45 -0700 Subject: [PATCH] Bug 1084423: Fix guards to limit wifi and cellular data per location. r=vng Without these size guards in place, can result in excessively large collections for a single location. --- .../mozstumbler/service/stumblerthread/Reporter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/Reporter.java b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/Reporter.java index 823033ec0ec8..d16508e60e9e 100644 --- a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/Reporter.java +++ b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/Reporter.java @@ -142,6 +142,10 @@ public final class Reporter extends BroadcastReceiver { Map currentWifiData = mBundle.getWifiData(); for (ScanResult result : results) { + if (currentWifiData.size() > MAX_WIFIS_PER_LOCATION) { + return; + } + String key = result.BSSID; if (!currentWifiData.containsKey(key)) { currentWifiData.put(key, result); @@ -156,6 +160,9 @@ public final class Reporter extends BroadcastReceiver { Map currentCellData = mBundle.getCellData(); for (CellInfo result : cells) { + if (currentCellData.size() > MAX_CELLS_PER_LOCATION) { + return; + } String key = result.getCellIdentity(); if (!currentCellData.containsKey(key)) { currentCellData.put(key, result); @@ -191,7 +198,9 @@ public final class Reporter extends BroadcastReceiver { Log.d(LOG_TAG, "Received bundle: " + mlsObj.toString()); } - AppGlobals.guiLogInfo(mlsObj.toString()); + if (wifiCount + cellCount < 1) { + return; + } try { DataStorageManager.getInstance().insert(mlsObj.toString(), wifiCount, cellCount);