summaryrefslogtreecommitdiffstats
path: root/cppu/source/uno/lbenv.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppu/source/uno/lbenv.cxx')
-rw-r--r--cppu/source/uno/lbenv.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx
index d03621282919..e1d294f53682 100644
--- a/cppu/source/uno/lbenv.cxx
+++ b/cppu/source/uno/lbenv.cxx
@@ -1050,10 +1050,16 @@ static bool loadEnv(OUString const & cLibStem,
// late init with some code from matching uno language binding
// will be unloaded by environment
osl::Module aMod;
- bool bMod = cppu::detail::loadModule(aMod, cLibStem);
-
- if (!bMod)
+ try {
+ bool bMod = cppu::detail::loadModule(aMod, cLibStem);
+ if (!bMod)
+ return false;
+ }
+ catch(...) {
+ // Catch everything and convert to return false
return false;
+ }
+
uno_initEnvironmentFunc fpInit = reinterpret_cast<uno_initEnvironmentFunc>(aMod.getSymbol(UNO_INIT_ENVIRONMENT));