summaryrefslogtreecommitdiff
path: root/filter/source
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-03-04 09:38:02 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-03-10 01:22:33 +0100
commit983a20bd8888fbd51675e32946bb0c73a2a40ea4 (patch)
treefe165e7cb9abc5ed5db022b8920dcb4e4cb6fdb8 /filter/source
parentd4c6057486f9667e82d7d4810bb2d421071b0eb2 (diff)
Check svg URLs before exporting
Reviewed-on: https://gerrit.libreoffice.org/68668 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 34ec46571701d639d9bc542b2d19f87a21a83648) Change-Id: I3b86b6b82318b0d201c3d7db516664520eb47bed Reviewed-on: https://gerrit.libreoffice.org/68733 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'filter/source')
-rw-r--r--filter/source/svg/svgexport.cxx20
1 files changed, 13 insertions, 7 deletions
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 16d43eb24eb3..822d50be0e4a 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -46,6 +46,7 @@
#include <comphelper/sequenceashashmap.hxx>
#include <i18nlangtag/lang.h>
#include <svl/zforlist.hxx>
+#include <tools/urlobj.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <xmloff/unointerfacetouniqueidentifiermapper.hxx>
#include <xmloff/nmspmap.hxx>
@@ -1809,13 +1810,18 @@ bool SVGFilter::implExportShape( const Reference< css::drawing::XShape >& rxShap
if( !aBookmark.isEmpty() )
{
- mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "xlink:href", aBookmark);
- SvXMLElementExport alinkA( *mpSVGExport, XML_NAMESPACE_NONE, "a", true, true );
- mpSVGWriter->WriteMetaFile( aTopLeft, aSize, rMtf,
- 0xffffffff,
- pElementId,
- &rxShape,
- pEmbeddedBitmapsMtf );
+ INetURLObject aINetURLObject(aBookmark);
+ if (!aINetURLObject.HasError()
+ && aINetURLObject.GetProtocol() != INetProtocol::Javascript)
+ {
+ mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "xlink:href", aBookmark);
+ SvXMLElementExport alinkA( *mpSVGExport, XML_NAMESPACE_NONE, "a", true, true );
+ mpSVGWriter->WriteMetaFile( aTopLeft, aSize, rMtf,
+ 0xffffffff,
+ pElementId,
+ &rxShape,
+ pEmbeddedBitmapsMtf );
+ }
}
else
{