summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-06-19 09:53:41 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-06-19 10:26:51 +0100
commitbf89444ca8e7a544056a2162fc48dae43b05f9d2 (patch)
tree24e05ff8cafdb2270c39d5a14a98126fdb17e809
parentc12a299784bbfc7c6806c076f8e4daa9f345e1c1 (diff)
coverity#707196 Uncaught exception
Change-Id: I4f42040c7e12507365f12d09f80d3641b4d5ca02
-rw-r--r--starmath/source/smdetect.cxx24
1 files changed, 17 insertions, 7 deletions
diff --git a/starmath/source/smdetect.cxx b/starmath/source/smdetect.cxx
index 51a8f42f666b..27982f9db742 100644
--- a/starmath/source/smdetect.cxx
+++ b/starmath/source/smdetect.cxx
@@ -66,17 +66,27 @@ OUString SAL_CALL SmFilterDetect::detect( Sequence< PropertyValue >& lDescriptor
if ( pInStrm->remainingSize() == 0 )
return OUString();
- SotStorageRef aStorage = new SotStorage( pInStrm, false );
- if ( !aStorage->GetError() )
+ bool bStorageOk = false;
+ try
{
- if ( aStorage->IsStream("Equation Native") )
+ SotStorageRef aStorage = new SotStorage( pInStrm, false );
+ bStorageOk = !aStorage->GetError();
+ if (bStorageOk)
{
- sal_uInt8 nVersion;
- if ( GetMathTypeVersion( aStorage, nVersion ) && nVersion <=3 )
- return OUString("math_MathType_3x");
+ if ( aStorage->IsStream("Equation Native") )
+ {
+ sal_uInt8 nVersion;
+ if ( GetMathTypeVersion( aStorage, nVersion ) && nVersion <=3 )
+ return OUString("math_MathType_3x");
+ }
}
}
- else
+ catch (const css::ucb::ContentCreationException &e)
+ {
+ SAL_WARN("starmath", "SmFilterDetect::detect caught " << e.Message);
+ }
+
+ if (!bStorageOk)
{
// 200 should be enough for the XML
// version, encoding and !DOCTYPE