diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-01-10 14:27:35 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-01-11 21:28:06 +0100 |
commit | 34bbe8f858fd992c784586b839c0f1dc8a218b4a (patch) | |
tree | a66fb5e4361698bf1e3e275427f766e7492310e0 /sc/source | |
parent | dddb683300a0ce0fd713c924ebd9e005df60fea9 (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/47709
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/tool/interpr7.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx index b92bf8cccf22..863664cc5309 100644 --- a/sc/source/core/tool/interpr7.cxx +++ b/sc/source/core/tool/interpr7.cxx @@ -14,6 +14,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> @@ -247,6 +248,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()) { |