8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows

Reviewed-by: naoto, alanb
This commit is contained in:
Zhengyu Gu 2022-03-15 14:16:35 +00:00
parent 710653ce18
commit 2cddf3f539

View file

@ -359,18 +359,17 @@ JNIEXPORT jobjectArray JNICALL Java_sun_util_locale_provider_HostLocaleProviderA
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getNumberPattern
(JNIEnv *env, jclass cls, jint numberStyle, jstring jlangtag) {
const jchar *langtag;
jstring ret;
jstring ret = NULL;
WCHAR * pattern;
langtag = (*env)->GetStringChars(env, jlangtag, NULL);
CHECK_NULL_RETURN(langtag, NULL);
pattern = getNumberPattern(langtag, numberStyle);
CHECK_NULL_RETURN(pattern, NULL);
if (!IS_NULL(pattern)) {
ret = (*env)->NewString(env, pattern, (jsize)wcslen(pattern));
free(pattern);
}
(*env)->ReleaseStringChars(env, jlangtag, langtag);
ret = (*env)->NewString(env, pattern, (jsize)wcslen(pattern));
free(pattern);
return ret;
}