summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictoria Lease <violets@android.com>2012-12-20 13:47:07 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2012-12-20 13:47:07 -0800
commit5ddfa24776f971d45e5fc80189abb3edd715818d (patch)
tree8c68eb119c07b70230abbcf81af63998adca998f
parentb7f4bf3604df8f3181931835a5dfc414c3072749 (diff)
parentfc56015bd3d86e470fdf3ac8449776809124875e (diff)
downloadframeworks_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.cpp14
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;
}