summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-01-10 14:27:35 +0000
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-02-09 09:49:30 +0100
commitd810b2762dcd59488faf8ccdd835911094c5a719 (patch)
tree2799b7cef9440099f01168184ac52c45efae6e6c
parent547ae947cfd6815d2311ea6692fea79b03baa825 (diff)
limit WEBSERVICE to http[s] protocols
and like excel... 'For protocols that aren’t supported, such as ftp:// or file://, WEBSERVICE returns the #VALUE! error value.' Change-Id: I0e9c6fd3426fad56a199eafac48de9b0f23914b3 Reviewed-on: https://gerrit.libreoffice.org/47776 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r--sc/source/core/tool/interpr7.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
index ce69848d6f99..66cc47d06606 100644
--- a/sc/source/core/tool/interpr7.cxx
+++ b/sc/source/core/tool/interpr7.cxx
@@ -11,6 +11,7 @@
#include <rtl/strbuf.hxx>
#include <formula/errorcodes.hxx>
#include <svtools/miscopt.hxx>
+#include <tools/urlobj.hxx>
#include <com/sun/star/ucb/XSimpleFileAccess3.hpp>
#include <com/sun/star/ucb/SimpleFileAccess.hpp>
@@ -158,6 +159,14 @@ void ScInterpreter::ScWebservice()
return;
}
+ INetURLObject aObj(aURI, INetProtocol::File);
+ INetProtocol eProtocol = aObj.GetProtocol();
+ if (eProtocol != INetProtocol::Http && eProtocol != INetProtocol::Https)
+ {
+ PushError( FormulaError::NoValue );
+ return;
+ }
+
uno::Reference< ucb::XSimpleFileAccess3 > xFileAccess( ucb::SimpleFileAccess::create( comphelper::getProcessComponentContext() ), uno::UNO_QUERY );
if(!xFileAccess.is())
{