diff -r 6a30ad1cfeec -r d349347d6b5f src/java.desktop/unix/native/common/awt/fontpath.c --- a/src/java.desktop/unix/native/common/awt/fontpath.c Fri Sep 13 11:04:46 2019 +0200 +++ b/src/java.desktop/unix/native/common/awt/fontpath.c Fri Sep 13 07:43:59 2019 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -887,9 +887,9 @@ locale = (*env)->GetStringUTFChars(env, localeStr, 0); if ((libfontconfig = openFontConfig()) == NULL) { - (*env)->ReleaseStringUTFChars (env, fcNameStr, (const char*)fcName); + (*env)->ReleaseStringUTFChars(env, fcNameStr, (const char*)fcName); if (locale) { - (*env)->ReleaseStringUTFChars (env, localeStr,(const char*)locale); + (*env)->ReleaseStringUTFChars(env, localeStr,(const char*)locale); } return -1; } @@ -918,9 +918,9 @@ FcPatternGetInteger == NULL || FcPatternDestroy == NULL) { /* problem with the library: return. */ - (*env)->ReleaseStringUTFChars (env, fcNameStr, (const char*)fcName); + (*env)->ReleaseStringUTFChars(env, fcNameStr, (const char*)fcName); if (locale) { - (*env)->ReleaseStringUTFChars (env, localeStr,(const char*)locale); + (*env)->ReleaseStringUTFChars(env, localeStr,(const char*)locale); } closeFontConfig(libfontconfig, JNI_FALSE); return -1; @@ -945,9 +945,9 @@ } (*FcPatternDestroy)(pattern); - (*env)->ReleaseStringUTFChars (env, fcNameStr, (const char*)fcName); + (*env)->ReleaseStringUTFChars(env, fcNameStr, (const char*)fcName); if (locale) { - (*env)->ReleaseStringUTFChars (env, localeStr, (const char*)locale); + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); } closeFontConfig(libfontconfig, JNI_TRUE); @@ -1179,6 +1179,9 @@ (*env)->DeleteLocalRef(env, fcNameStr); if (pattern == NULL) { closeFontConfig(libfontconfig, JNI_FALSE); + if (locale) { + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); + } return; } @@ -1196,6 +1199,9 @@ if (fontset == NULL) { (*FcPatternDestroy)(pattern); closeFontConfig(libfontconfig, JNI_FALSE); + if (locale) { + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); + } return; } @@ -1227,6 +1233,9 @@ (*FcPatternDestroy)(pattern); (*FcFontSetDestroy)(fontset); closeFontConfig(libfontconfig, JNI_FALSE); + if (locale) { + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); + } return; } fontCount = 0; @@ -1269,6 +1278,9 @@ (*FcPatternDestroy)(pattern); (*FcFontSetDestroy)(fontset); closeFontConfig(libfontconfig, JNI_FALSE); + if (locale) { + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); + } return; } @@ -1323,6 +1335,9 @@ (*FcPatternDestroy)(pattern); (*FcFontSetDestroy)(fontset); closeFontConfig(libfontconfig, JNI_FALSE); + if (locale) { + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); + } return; } (*env)->SetObjectField(env,fcCompFontObj, fcAllFontsID, fcFontArr); @@ -1384,7 +1399,7 @@ /* release resources and close the ".so" */ if (locale) { - (*env)->ReleaseStringUTFChars (env, localeStr, (const char*)locale); + (*env)->ReleaseStringUTFChars(env, localeStr, (const char*)locale); } closeFontConfig(libfontconfig, JNI_TRUE); }