OSDN Git Service

Cherry-pick WebKit change 91260 to fix JNI string null-termination
authorSteve Block <steveblock@google.com>
Tue, 19 Jul 2011 15:57:32 +0000 (16:57 +0100)
committerSteve Block <steveblock@google.com>
Tue, 19 Jul 2011 15:58:52 +0000 (16:58 +0100)
See http://trac.webkit.org/changeset/91260

Bug: 4727789
Change-Id: I2f01bde12463a3c19659340cdb85b69eaecbd0f7

Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp

index cd04634..0d1a9f2 100644 (file)
@@ -429,10 +429,10 @@ JavaValue jvalueToJavaValue(const jvalue& value, const JavaType& type)
     case JavaTypeString:
         {
             jstring javaString = static_cast<jstring>(value.l);
-            const UChar* a = getUCharactersFromJStringInEnv(getJNIEnv(), javaString);
+            const UChar* characters = getUCharactersFromJStringInEnv(getJNIEnv(), javaString);
             // We take a copy to allow the Java String to be released.
-            result.m_stringValue = String(a).threadsafeCopy();
-            releaseUCharactersForJStringInEnv(getJNIEnv(), javaString, a);
+            result.m_stringValue = String(characters, getJNIEnv()->GetStringLength(javaString));
+            releaseUCharactersForJStringInEnv(getJNIEnv(), javaString, characters);
         }
         break;
     case JavaTypeBoolean: