Kaydet (Commit) 8eda0f7b authored tarafından Caolán McNamara's avatar Caolán McNamara

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
üst fbe26ca5
...@@ -54,16 +54,16 @@ jboolean Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1writeInfo( ...@@ -54,16 +54,16 @@ jboolean Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1writeInfo(
{ {
bool bRet = false; bool bRet = false;
const jchar* pJLibName = pJEnv->GetStringChars( jLibName, NULL ); const jchar* pJLibName = pJEnv->GetStringChars(jLibName, NULL);
OUString aLibName( pJLibName ); OUString aLibName(pJLibName);
pJEnv->ReleaseStringChars( jLibName, pJLibName); pJEnv->ReleaseStringChars(jLibName, pJLibName);
#ifdef DISABLE_DYNLOADING #ifdef DISABLE_DYNLOADING
(void) jSMgr; (void) jSMgr;
(void) jRegKey; (void) jRegKey;
(void) loader; (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 #else
osl::Module lib(aLibName, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL); osl::Module lib(aLibName, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL);
if (lib.is()) if (lib.is())
...@@ -140,6 +140,8 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory( ...@@ -140,6 +140,8 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory(
jobject jSMgr, jobject jRegKey, jobject loader ) jobject jSMgr, jobject jRegKey, jobject loader )
{ {
const jchar* pJLibName = pJEnv->GetStringChars(jLibName, NULL); const jchar* pJLibName = pJEnv->GetStringChars(jLibName, NULL);
OUString aLibName(pJLibName);
pJEnv->ReleaseStringChars(jLibName, pJLibName);
#ifdef DISABLE_DYNLOADING #ifdef DISABLE_DYNLOADING
(void) jImplName; (void) jImplName;
...@@ -147,12 +149,9 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory( ...@@ -147,12 +149,9 @@ jobject Java_com_sun_star_comp_helper_SharedLibraryLoader_component_1getFactory(
(void) jRegKey; (void) jRegKey;
(void) loader; (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 #endif
OUString aLibName( pJLibName );
pJEnv->ReleaseStringChars( jLibName, pJLibName);
aLibName += OUString( SAL_DLLEXTENSION ); aLibName += OUString( SAL_DLLEXTENSION );
jobject joSLL_cpp = 0; jobject joSLL_cpp = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment