From 8eda0f7b07f8fb09b11c577882b5cd4a548e1423 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 7 Jan 2015 10:16:18 +0000 Subject: WaE: -Werror=unused-variable with #define DISABLE_DYNLOADING and also a leak in that mode with a missing ReleaseStringChars after GetStringChars in one use, and a use after free in the other use where ReleaseStringChars is called Change-Id: I2da0310429daf8519554fd7aaf47bba9f6f0e85c --- javaunohelper/source/javaunohelper.cxx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'javaunohelper/source') diff --git a/javaunohelper/source/javaunohelper.cxx b/javaunohelper/source/javaunohelper.cxx index 05ad4c0c9591..99a9252c5194 100644 --- a/javaunohelper/source/javaunohelper.cxx +++ b/javaunohelper/source/javaunohelper.cxx @@ -54,16 +54,16 @@ jboolean Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1writeInfo( { bool bRet = false; - const jchar* pJLibName = pJEnv->GetStringChars( jLibName, NULL ); - OUString aLibName( pJLibName ); - pJEnv->ReleaseStringChars( jLibName, pJLibName); + const jchar* pJLibName = pJEnv->GetStringChars(jLibName, NULL); + OUString aLibName(pJLibName); + pJEnv->ReleaseStringChars(jLibName, pJLibName); #ifdef DISABLE_DYNLOADING (void) jSMgr; (void) jRegKey; (void) loader; - fprintf(stderr, "Hmm, %s called for %s\n", __PRETTY_FUNCTION__, OUStringToOString(pJLibName, RTL_TEXTENCODING_JAVA_UTF8).getStr()); + fprintf(stderr, "Hmm, %s called for %s\n", __PRETTY_FUNCTION__, OUStringToOString(aLibName, osl_getThreadTextEncoding()).getStr()); #else osl::Module lib(aLibName, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL); if (lib.is()) @@ -140,6 +140,8 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory( jobject jSMgr, jobject jRegKey, jobject loader ) { const jchar* pJLibName = pJEnv->GetStringChars(jLibName, NULL); + OUString aLibName(pJLibName); + pJEnv->ReleaseStringChars(jLibName, pJLibName); #ifdef DISABLE_DYNLOADING (void) jImplName; @@ -147,12 +149,9 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory( (void) jRegKey; (void) loader; - fprintf(stderr, "Hmm, %s called for %s\n", __PRETTY_FUNCTION__, OUStringToOString(pJLibName, RTL_TEXTENCODING_JAVA_UTF8).getStr()); + fprintf(stderr, "Hmm, %s called for %s\n", __PRETTY_FUNCTION__, OUStringToOString(aLibName, osl_getThreadTextEncoding()).getStr()); #endif - OUString aLibName( pJLibName ); - pJEnv->ReleaseStringChars( jLibName, pJLibName); - aLibName += OUString( SAL_DLLEXTENSION ); jobject joSLL_cpp = 0; -- cgit