diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-08-31 16:09:24 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-08-31 16:09:24 -0700 |
commit | f786b6ca5df079f5cc84838251137f9b65ae10c9 (patch) | |
tree | 9a7aa74c86862c7c0c56b517397f3cb7072edf47 | |
parent | 9ee285afe740ff13d176c9d8430979dfd9575a23 (diff) | |
download | frameworks_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
-rw-r--r-- | core/jni/android_database_CursorWindow.cpp | 2 |
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) { |