summaryrefslogtreecommitdiffstats
path: root/core/jni/android_database_CursorWindow.cpp
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-08-31 16:09:24 -0700
committerJeff Brown <jeffbrown@google.com>2011-08-31 16:09:24 -0700
commitf786b6ca5df079f5cc84838251137f9b65ae10c9 (patch)
tree9a7aa74c86862c7c0c56b517397f3cb7072edf47 /core/jni/android_database_CursorWindow.cpp
parent9ee285afe740ff13d176c9d8430979dfd9575a23 (diff)
downloadframeworks_base-f786b6ca5df079f5cc84838251137f9b65ae10c9.zip
frameworks_base-f786b6ca5df079f5cc84838251137f9b65ae10c9.tar.gz
frameworks_base-f786b6ca5df079f5cc84838251137f9b65ae10c9.tar.bz2
Fix JNI leak in copyStringToBuffer
Bug: 5244396 Code was acquiring the char array twice for FIELD_TYPE_INTEGER or FIELD_TYPE_FLOAT but only releasing it once. Removed the redundant calls to GetCharArrayElements. Change-Id: If767d3295d5a663a823e5ca0cd979379a3ccd024
Diffstat (limited to 'core/jni/android_database_CursorWindow.cpp')
-rw-r--r--core/jni/android_database_CursorWindow.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/core/jni/android_database_CursorWindow.cpp b/core/jni/android_database_CursorWindow.cpp
index ddac820..419e464 100644
--- a/core/jni/android_database_CursorWindow.cpp
+++ b/core/jni/android_database_CursorWindow.cpp
@@ -352,7 +352,6 @@ LOG_WINDOW("Copying string for %d,%d from %p", row, column, window);
char buf[32];
int len;
snprintf(buf, sizeof(buf), "%lld", value);
- jchar* dst = env->GetCharArrayElements(buffer, NULL);
sizeCopied = charToJchar(buf, dst, bufferSize);
}
} else if (type == FIELD_TYPE_FLOAT) {
@@ -360,7 +359,6 @@ LOG_WINDOW("Copying string for %d,%d from %p", row, column, window);
if (window->getDouble(row, column, &value)) {
char tempbuf[32];
snprintf(tempbuf, sizeof(tempbuf), "%g", value);
- jchar* dst = env->GetCharArrayElements(buffer, NULL);
sizeCopied = charToJchar(tempbuf, dst, bufferSize);
}
} else if (type == FIELD_TYPE_NULL) {