merge in lmp-mr1-release history after reset to lmp-mr1-dev
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index 211debf..2311e34 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -122,6 +122,7 @@
 import java.util.Queue;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
@@ -3286,6 +3287,9 @@
 
     int emptyScanResultCount = 0;
 
+    // Used for matching BSSID strings, at least one characteer must be a non-zero number
+    private static Pattern mNotZero = Pattern.compile("[1-9a-fA-F]");
+
     /**
      * Format:
      *
@@ -3399,7 +3403,11 @@
                     wifiSsid = WifiSsid.createFromAsciiEncoded(
                             line.substring(SSID_STR.length()));
                 } else if (line.startsWith(DELIMITER_STR) || line.startsWith(END_STR)) {
-                    if (bssid != null) {
+                    Matcher match = null;
+                    if (bssid!= null) {
+                        match = mNotZero.matcher(bssid);
+                    }
+                    if (match != null && !bssid.isEmpty() && match.find()) {
                         String ssid = (wifiSsid != null) ? wifiSsid.toString() : WifiSsid.NONE;
                         String key = bssid + ssid;
                         ScanResult scanResult = mScanResultCache.get(key);
@@ -3424,6 +3432,11 @@
                         mNumScanResultsReturned ++; // Keep track of how many scan results we got
                                                     // as part of this scan's processing
                         mScanResults.add(scanResult);
+                    } else {
+                        if (bssid != null)  {
+                            loge("setScanResults obtaining null BSSID results <"
+                                + bssid + ">, discard it");
+                        }
                     }
                     bssid = null;
                     level = 0;