diff options
author | Victoria Lease <violets@android.com> | 2012-12-20 13:47:07 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-12-20 13:47:07 -0800 |
commit | 5ddfa24776f971d45e5fc80189abb3edd715818d (patch) | |
tree | 8c68eb119c07b70230abbcf81af63998adca998f | |
parent | b7f4bf3604df8f3181931835a5dfc414c3072749 (diff) | |
parent | fc56015bd3d86e470fdf3ac8449776809124875e (diff) | |
download | frameworks_base-5ddfa24776f971d45e5fc80189abb3edd715818d.zip frameworks_base-5ddfa24776f971d45e5fc80189abb3edd715818d.tar.gz frameworks_base-5ddfa24776f971d45e5fc80189abb3edd715818d.tar.bz2 |
am fc56015b: Merge "Possible leak in android_emoji_EmojiFactory_newInstance"
* commit 'fc56015bd3d86e470fdf3ac8449776809124875e':
Possible leak in android_emoji_EmojiFactory_newInstance
-rw-r--r-- | core/jni/android_emoji_EmojiFactory.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/core/jni/android_emoji_EmojiFactory.cpp b/core/jni/android_emoji_EmojiFactory.cpp index a658561..4383997 100644 --- a/core/jni/android_emoji_EmojiFactory.cpp +++ b/core/jni/android_emoji_EmojiFactory.cpp @@ -3,8 +3,7 @@ #define LOG_TAG "EmojiFactory_jni" #include <utils/Log.h> -#include <utils/String8.h> -#include <utils/String16.h> +#include <ScopedUtfChars.h> #include "EmojiFactory.h" #include <nativehelper/JNIHelp.h> @@ -125,16 +124,13 @@ static jobject android_emoji_EmojiFactory_newInstance( return NULL; } - const jchar* jchars = env->GetStringChars(name, NULL); - jsize len = env->GetStringLength(name); - String8 str(String16(jchars, len)); + ScopedUtfChars nameUtf(env, name); - EmojiFactory *factory = gCaller->TryCallGetImplementation(str.string()); + EmojiFactory *factory = gCaller->TryCallGetImplementation(nameUtf.c_str()); // EmojiFactory *factory = EmojiFactory::GetImplementation(str.string()); if (NULL == factory) { return NULL; } - env->ReleaseStringChars(name, jchars); return create_java_EmojiFactory(env, factory, name); } @@ -151,8 +147,8 @@ static jobject android_emoji_EmojiFactory_newAvailableInstance( if (NULL == factory) { return NULL; } - String16 name_16(String8(factory->Name())); - jstring jname = env->NewString(name_16.string(), name_16.size()); + + jstring jname = env->NewStringUTF(factory->Name()); if (NULL == jname) { return NULL; } |