diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:42:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:42:18 +0000 |
commit | eee4e46aea64fbf882cb9dda2088a8a1082ed208 (patch) | |
tree | fb11dec5c7d392b06a963ceeb472e752b063b3ba /js/xpconnect/src | |
parent | Releasing progress-linux version 115.9.1esr-1~progress7.99u1. (diff) | |
download | firefox-esr-eee4e46aea64fbf882cb9dda2088a8a1082ed208.tar.xz firefox-esr-eee4e46aea64fbf882cb9dda2088a8a1082ed208.zip |
Merging upstream version 115.10.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | js/xpconnect/src/XPCComponents.cpp | 2 | ||||
-rw-r--r-- | js/xpconnect/src/XPCShellImpl.cpp | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/js/xpconnect/src/XPCComponents.cpp b/js/xpconnect/src/XPCComponents.cpp index 77df85b5f8..b69aaea0b5 100644 --- a/js/xpconnect/src/XPCComponents.cpp +++ b/js/xpconnect/src/XPCComponents.cpp @@ -1789,7 +1789,7 @@ nsXPCComponents_Utils::GetFunctionSourceLocation(HandleValue funcValue, NS_ENSURE_TRUE(func, NS_ERROR_INVALID_ARG); RootedScript script(cx, JS_GetFunctionScript(cx, func)); - NS_ENSURE_TRUE(func, NS_ERROR_FAILURE); + NS_ENSURE_TRUE(script, NS_ERROR_FAILURE); AppendUTF8toUTF16(nsDependentCString(JS_GetScriptFilename(script)), filename); diff --git a/js/xpconnect/src/XPCShellImpl.cpp b/js/xpconnect/src/XPCShellImpl.cpp index 124c2ed37d..f24b939fae 100644 --- a/js/xpconnect/src/XPCShellImpl.cpp +++ b/js/xpconnect/src/XPCShellImpl.cpp @@ -1106,6 +1106,10 @@ int XRE_XPCShellMain(int argc, char** argv, char** envp, // stability, we should instantiate COM ASAP so that we can ensure that these // global settings are configured before anything can interfere. mscom::ProcessRuntime mscom; + +# ifdef MOZ_SANDBOX + nsAutoString binDirPath; +# endif #endif // The provider needs to outlive the call to shutting down XPCOM. @@ -1125,6 +1129,11 @@ int XRE_XPCShellMain(int argc, char** argv, char** envp, return 1; } +#if defined(XP_WIN) && defined(MOZ_SANDBOX) + // We need the binary directory to initialize the windows sandbox. + MOZ_ALWAYS_SUCCEEDS(appDir->GetPath(binDirPath)); +#endif + dirprovider.SetAppFile(appFile); nsCOMPtr<nsIFile> greDir; @@ -1323,7 +1332,7 @@ int XRE_XPCShellMain(int argc, char** argv, char** envp, # if defined(MOZ_SANDBOX) // Required for sandboxed child processes. if (aShellData->sandboxBrokerServices) { - SandboxBroker::Initialize(aShellData->sandboxBrokerServices); + SandboxBroker::Initialize(aShellData->sandboxBrokerServices, binDirPath); SandboxBroker::GeckoDependentInitialize(); } else { NS_WARNING( |