diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /dom/ipc/JSValidatorChild.cpp | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/ipc/JSValidatorChild.cpp')
-rw-r--r-- | dom/ipc/JSValidatorChild.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/dom/ipc/JSValidatorChild.cpp b/dom/ipc/JSValidatorChild.cpp index 5070a46492..86ddeb3434 100644 --- a/dom/ipc/JSValidatorChild.cpp +++ b/dom/ipc/JSValidatorChild.cpp @@ -179,7 +179,12 @@ JSValidatorChild::GetUTF8EncodedContent( JSValidatorChild::ValidatorResult JSValidatorChild::ShouldAllowJS( const mozilla::Span<const char>& aSpan) const { - MOZ_ASSERT(!aSpan.IsEmpty()); + // It's possible that the data we get is not valid UTF-8, so aSpan + // ends empty here. We should treat it as a failure because this + // is not valid JS. + if (aSpan.IsEmpty()) { + return ValidatorResult::Failure; + } MOZ_DIAGNOSTIC_ASSERT(IsUtf8(aSpan)); @@ -202,9 +207,8 @@ JSValidatorChild::ValidatorResult JSValidatorChild::ShouldAllowJS( prefableOptions.setAsmJSOption(JS::AsmJSOption::DisabledByAsmJSPref); JS::CompileOptions options(prefableOptions); - JS::CompilationStorage storage; RefPtr<JS::Stencil> stencil = - JS::CompileGlobalScriptToStencil(fc, options, srcBuf, storage); + JS::CompileGlobalScriptToStencil(fc, options, srcBuf); if (!stencil) { JS::ClearFrontendErrors(fc); |