coverity#1019376 Resource leak
Change-Id: Ifa9c5a7b3aa0d219e09fa3081e66d870a508a84d
This commit is contained in:
@@ -51,6 +51,8 @@
|
|||||||
#include <cppuhelper/implbase2.hxx>
|
#include <cppuhelper/implbase2.hxx>
|
||||||
#include <cppuhelper/weakref.hxx>
|
#include <cppuhelper/weakref.hxx>
|
||||||
|
|
||||||
|
#include <osl/module.hxx>
|
||||||
|
|
||||||
// In Python 3, the PyString_* functions have been replaced by PyBytes_*
|
// In Python 3, the PyString_* functions have been replaced by PyBytes_*
|
||||||
// and PyUnicode_* functions.
|
// and PyUnicode_* functions.
|
||||||
#if PY_MAJOR_VERSION >= 3
|
#if PY_MAJOR_VERSION >= 3
|
||||||
@@ -276,6 +278,7 @@ struct RuntimeCargo
|
|||||||
com::sun::star::uno::Reference< com::sun::star::script::XInvocationAdapterFactory2 > xAdapterFactory;
|
com::sun::star::uno::Reference< com::sun::star::script::XInvocationAdapterFactory2 > xAdapterFactory;
|
||||||
com::sun::star::uno::Reference< com::sun::star::beans::XIntrospection > xIntrospection;
|
com::sun::star::uno::Reference< com::sun::star::beans::XIntrospection > xIntrospection;
|
||||||
PyRef dictUnoModule;
|
PyRef dictUnoModule;
|
||||||
|
osl::Module testModule;
|
||||||
bool valid;
|
bool valid;
|
||||||
ExceptionClassMap exceptionMap;
|
ExceptionClassMap exceptionMap;
|
||||||
ClassSet interfaceSet;
|
ClassSet interfaceSet;
|
||||||
|
@@ -346,11 +346,13 @@ static PyObject* initPoniesMode(
|
|||||||
.replaceAll(OString('/'), OString('\\'))
|
.replaceAll(OString('/'), OString('\\'))
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
oslModule const mod( osl_loadModuleAscii(libname.getStr(),
|
|
||||||
SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL) );
|
osl::Module &mod = runtime.getImpl()->cargo->testModule;
|
||||||
if (!mod) { abort(); }
|
mod.load(OStringToOUString(libname, osl_getThreadTextEncoding()),
|
||||||
|
SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL);
|
||||||
|
if (!mod.is()) { abort(); }
|
||||||
oslGenericFunction const pFunc(
|
oslGenericFunction const pFunc(
|
||||||
osl_getAsciiFunctionSymbol(mod, "test_init"));
|
mod.getFunctionSymbol("test_init"));
|
||||||
if (!pFunc) { abort(); }
|
if (!pFunc) { abort(); }
|
||||||
// guess casting pFunc is undefined behavior but don't see a better way
|
// guess casting pFunc is undefined behavior but don't see a better way
|
||||||
((void (SAL_CALL *)(XMultiServiceFactory*)) pFunc) (xMSF.get());
|
((void (SAL_CALL *)(XMultiServiceFactory*)) pFunc) (xMSF.get());
|
||||||
|
Reference in New Issue
Block a user