diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2018-03-20 22:57:17 -0400 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2018-04-05 10:54:48 +0200 |
commit | 6ac27e7d3deb8e137860d8b31f1c5eace616de53 (patch) | |
tree | c60daa04cbc5e53f0cfa1f838c34288d21516ed4 | |
parent | 3a53fe4456f72dd57640b5bb33c5f08da96069f7 (diff) |
oox: don't segfault when failing to open a custom fragmentcp-5.3-44
Change-Id: Ie05d1feea2e930b117b3754c6e0db86bdb85bc61
Reviewed-on: https://gerrit.libreoffice.org/51681
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit f82888653c853f236ab0035bb578a7129ec72fa5)
Reviewed-on: https://gerrit.libreoffice.org/52227
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r-- | oox/source/core/xmlfilterbase.cxx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index 7caf551c1836..8b8454d4202d 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -1119,13 +1119,16 @@ void XmlFilterBase::exportCustomFragments() addRelation(customFragmentTypes[j], customFragmentTargets[j]); const OUString aFilename = customFragmentTargets[j]; Reference<XOutputStream> xOutStream = openOutputStream(aFilename); - xOutStream->writeBytes(customFragments[j]); - uno::Reference<XPropertySet> xProps(xOutStream, uno::UNO_QUERY); - if (xProps.is()) + if (xOutStream.is()) { - const OUString aType = comphelper::OFOPXMLHelper::GetContentTypeByName(aContentTypes, aFilename); - const OUString aContentType = (aType.getLength() ? aType : OUString("application/octet-stream")); - xProps->setPropertyValue("MediaType", uno::makeAny(aContentType)); + xOutStream->writeBytes(customFragments[j]); + uno::Reference<XPropertySet> xProps(xOutStream, uno::UNO_QUERY); + if (xProps.is()) + { + const OUString aType = comphelper::OFOPXMLHelper::GetContentTypeByName(aContentTypes, aFilename); + const OUString aContentType = (aType.getLength() ? aType : OUString("application/octet-stream")); + xProps->setPropertyValue("MediaType", uno::makeAny(aContentType)); + } } } } |