summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-04-30 12:01:49 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-04-30 15:26:03 +0100
commit402fffb74e36cab6a2a4f5da64154713d9ddc235 (patch)
treec913635d685136efdf249d03fab08ae339825ece /unotools
parent1f2894314328724b1654ee9990406460e4461ffd (diff)
coverity#1209935 Uncaught exception
and hopefully a million more Change-Id: Ib1326cae3ec93855b311a8cf4e9e6f9def199d44
Diffstat (limited to 'unotools')
-rw-r--r--unotools/source/ucbhelper/ucbhelper.cxx22
1 files changed, 14 insertions, 8 deletions
diff --git a/unotools/source/ucbhelper/ucbhelper.cxx b/unotools/source/ucbhelper/ucbhelper.cxx
index f20aaee7300e..45c6fdbcdaa4 100644
--- a/unotools/source/ucbhelper/ucbhelper.cxx
+++ b/unotools/source/ucbhelper/ucbhelper.cxx
@@ -457,17 +457,23 @@ bool utl::UCBContentHelper::EqualURLs(
bool utl::UCBContentHelper::ensureFolder(
css::uno::Reference< css::uno::XComponentContext > xCtx,
css::uno::Reference< css::ucb::XCommandEnvironment > xEnv,
- const OUString& rFolder, ucbhelper::Content & result)
+ const OUString& rFolder, ucbhelper::Content & result) throw()
{
- INetURLObject aURL( rFolder );
- OUString aTitle = aURL.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
- aURL.removeSegment();
- ::ucbhelper::Content aParent;
+ try
+ {
+ INetURLObject aURL( rFolder );
+ OUString aTitle = aURL.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
+ aURL.removeSegment();
+ ::ucbhelper::Content aParent;
- if ( ::ucbhelper::Content::create( aURL.GetMainURL( INetURLObject::NO_DECODE ),
- xEnv, xCtx, aParent ) )
+ if ( ::ucbhelper::Content::create( aURL.GetMainURL( INetURLObject::NO_DECODE ),
+ xEnv, xCtx, aParent ) )
+ {
+ return ::utl::UCBContentHelper::MakeFolder(aParent, aTitle, result);
+ }
+ }
+ catch (...)
{
- return ::utl::UCBContentHelper::MakeFolder(aParent, aTitle, result);
}
return false;