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(
{
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;
......
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