[Libreoffice-commits] core.git: package/source

Caolán McNamara caolanm at redhat.com
Tue Oct 14 02:04:55 PDT 2014


 package/source/xstor/xstorage.cxx |   23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

New commits:
commit 58a96d3ccedbade4f1a8bfbbc4b7d8f1615cfc69
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Oct 14 10:03:17 2014 +0100

    bff: terminate on SAXException on malformed input
    
    SAXException thrown and not caught
    
    Change-Id: I874ffbcd457e102b572f398f4e531f4be30ca3d3

diff --git a/package/source/xstor/xstorage.cxx b/package/source/xstor/xstorage.cxx
index 3ac32e9..cb1e4f4 100644
--- a/package/source/xstor/xstorage.cxx
+++ b/package/source/xstor/xstorage.cxx
@@ -5186,7 +5186,28 @@ uno::Sequence< uno::Sequence< beans::StringPair > > SAL_CALL OStorage::getAllRel
     if ( m_pData->m_nStorageType != embed::StorageFormats::OFOPXML )
         throw uno::RuntimeException( THROW_WHERE );
 
-    return m_pImpl->GetAllRelationshipsIfAny();
+    uno::Sequence< uno::Sequence< beans::StringPair > > aRet;
+    try
+    {
+        aRet = m_pImpl->GetAllRelationshipsIfAny();
+    }
+    catch (const io::IOException&)
+    {
+        throw;
+    }
+    catch (const uno::RuntimeException&)
+    {
+        throw;
+    }
+    catch (const uno::Exception &)
+    {
+        uno::Any aCaught( ::cppu::getCaughtException() );
+        throw lang::WrappedTargetRuntimeException(THROW_WHERE "Can't getAllRelationships!",
+                                                 uno::Reference< uno::XInterface >(),
+                                                 aCaught);
+    }
+
+    return aRet;
 }
 
 void SAL_CALL OStorage::insertRelationshipByID(  const OUString& sID, const uno::Sequence< beans::StringPair >& aEntry, sal_Bool bReplace  )


More information about the Libreoffice-commits mailing list