summaryrefslogtreecommitdiffstats
path: root/dom/base/nsContentUtils.cpp
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-07-29 14:30:24 +0000
committerMoonchild <moonchild@palemoon.org>2020-07-29 14:30:24 +0000
commita1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57 (patch)
tree9df45decf2d7d940ff19641adea50fe7122805f7 /dom/base/nsContentUtils.cpp
parent86b184b957ea2ce31e5ffc376e90cbc537963367 (diff)
parent2ee2ca7dfb0913eef79708dc4100f87b9557e128 (diff)
downloadUXP-a1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57.tar
UXP-a1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57.tar.gz
UXP-a1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57.tar.lz
UXP-a1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57.tar.xz
UXP-a1ca8ca9bd1f4442dcbe613efa04f37a2c7b9f57.zip
Merge branch 'redwood' into release
Diffstat (limited to 'dom/base/nsContentUtils.cpp')
-rw-r--r--dom/base/nsContentUtils.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index 6a9904bf9..1a3f5b5ca 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -5105,6 +5105,14 @@ nsContentUtils::TriggerLink(nsIContent *aContent, nsPresContext *aPresContext,
fileName.SetIsVoid(true); // No actionable download attribute was found.
}
+ // Sanitize fileNames containing control characters by replacing them with
+ // underscores.
+ if (!fileName.IsVoid()) {
+ for (int i = 0; i < 32; i++) {
+ fileName.ReplaceChar(char16_t(i), '_');
+ }
+ }
+
handler->OnLinkClick(aContent, aLinkURI,
fileName.IsVoid() ? aTargetSpec.get() : EmptyString().get(),
fileName, nullptr, nullptr, aIsTrusted, aContent->NodePrincipal());