summaryrefslogtreecommitdiff
path: root/sax
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2015-02-05 21:35:51 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2015-03-02 18:22:03 +0100
commit5df77f0d3bcc7015139fed8b5a38a93d9242de69 (patch)
treef620ae320d5475578eb4e220c61d3f4bdded5ff3 /sax
parent2c164be0df5c1501a7dbf0cf3dd45475a880b2ce (diff)
make parsing more cautious with exceptions
also handle UNO exceptions that are not RuntimeException Change-Id: I7050de6ee4b2e4f2af2e0a0be42ba65e0bc028db
Diffstat (limited to 'sax')
-rw-r--r--sax/source/expatwrap/sax_expat.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sax/source/expatwrap/sax_expat.cxx b/sax/source/expatwrap/sax_expat.cxx
index 2aa30415e0f8..5b02ca902dee 100644
--- a/sax/source/expatwrap/sax_expat.cxx
+++ b/sax/source/expatwrap/sax_expat.cxx
@@ -124,6 +124,11 @@ OUString XmlChar2OUString( const XML_Char *p )
pThis->bRTExceptionWasThrown = true; \
pImpl->rtexception = e; \
}\
+ catch( const com::sun::star::uno::Exception &e ) {\
+ pThis->bExceptionWasThrown = true; \
+ pThis->bRTExceptionWasThrown = true; \
+ pImpl->rtexception = WrappedTargetRuntimeException("Non-runtime UNO exception caught during parse", e.Context, makeAny(e)); \
+ }\
}\
((void)0)