From f786b6ca5df079f5cc84838251137f9b65ae10c9 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Wed, 31 Aug 2011 16:09:24 -0700 Subject: 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 --- core/jni/android_database_CursorWindow.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'core') 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) { -- cgit v1.1