diff options
author | Eike Rathke <erack@redhat.com> | 2019-06-14 21:53:18 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-06-19 15:23:47 +0200 |
commit | 9f3df50d4ff94ebe16108a9a81dda26f252ff071 (patch) | |
tree | 863525b84baebec08523f50d8b15cae4910e9a3f | |
parent | 9f095d0bc6b091ca8e0522533c981374d0648c09 (diff) |
Resolves: tdf#124251 do not treat internal "URI" as real path URI
Change-Id: I754704b0a979e8449b7ec799cbda58b14ab17098
Reviewed-on: https://gerrit.libreoffice.org/74067
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit ca08ec9292410c28713fd2d92920a7af09883e97)
Reviewed-on: https://gerrit.libreoffice.org/74071
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r-- | sc/source/core/data/global.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index 0999082d9589..6a59a30e56b5 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -819,7 +819,14 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget) } // Don't fiddle with fragments pointing into current document. - if (!aUrlName.startsWith("#")) + // Also don't mess around with a vnd.sun.star.script or service or other + // internal "URI". + if (!aUrlName.startsWith("#") + && !aUrlName.startsWithIgnoreAsciiCase("vnd.sun.star.script:") + && !aUrlName.startsWithIgnoreAsciiCase("macro:") + && !aUrlName.startsWithIgnoreAsciiCase("slot:") + && !aUrlName.startsWithIgnoreAsciiCase("service:") + && !aUrlName.startsWithIgnoreAsciiCase(".uno:")) { // Any relative reference would fail with "not an absolute URL" // error, try to construct an absolute URI with the path relative |