summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNingyuan Wang <nywang@google.com>2017-06-07 22:35:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-06-07 22:35:07 +0000
commitbb7d4b9c62f3a11ebecc4ebced429bfe1d7cf5e1 (patch)
treee7f43f421eb4154f22838b22b732a92fe334c6ce
parent99c139a0c72e4eee80b80abf5d1b5952b429beff (diff)
parent74ba4cc8782b1bb8cff4aec35ff6e36af309c784 (diff)
downloadandroid_frameworks_opt_net_wifi-bb7d4b9c62f3a11ebecc4ebced429bfe1d7cf5e1.tar.gz
android_frameworks_opt_net_wifi-bb7d4b9c62f3a11ebecc4ebced429bfe1d7cf5e1.tar.bz2
android_frameworks_opt_net_wifi-bb7d4b9c62f3a11ebecc4ebced429bfe1d7cf5e1.zip
Merge "DO NOT MERGE: wifinative jni: check array length for trackSignificantWifiChange" into lmp-mr1-dev
-rw-r--r--service/jni/com_android_server_wifi_WifiNative.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp
index e9e85ac9d..4611d9e2f 100644
--- a/service/jni/com_android_server_wifi_WifiNative.cpp
+++ b/service/jni/com_android_server_wifi_WifiNative.cpp
@@ -34,6 +34,7 @@
namespace android {
static jint DBG = false;
+const int SAFE_NET_LOG_ID = 0x534e4554;
static bool doCommand(JNIEnv* env, jstring javaCommand,
char* reply, size_t reply_len) {
@@ -628,7 +629,7 @@ static jboolean android_net_wifi_setHotlist(
if (params.num_ap >
static_cast<int>(sizeof(params.ap) / sizeof(params.ap[0]))) {
ALOGE("setHotlist array length is too long");
- android_errorWriteLog(0x534e4554, "31856351");
+ android_errorWriteLog(SAFE_NET_LOG_ID, "31856351");
return false;
}
@@ -749,7 +750,12 @@ static jboolean android_net_wifi_trackSignificantWifiChange(
ALOGE("Error in accessing array");
return false;
}
-
+ if (params.num_ap >
+ static_cast<int>(sizeof(params.ap) / sizeof(params.ap[0]))) {
+ ALOGE("trackSignificantWifiChange array length is too long");
+ android_errorWriteLog(SAFE_NET_LOG_ID, "37775935");
+ return false;
+ }
ALOGD("Initialized common fields %d, %d, %d, %d", params.rssi_sample_size,
params.lost_ap_sample_size, params.min_breaching, params.num_ap);