From ec8793a0946fde00b75323c4a64df0cd7714c1eb Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 4 Sep 2024 15:21:42 +0200 Subject: [PATCH] [js xpconnect] Fix error handling in xpc::CreateSandboxObject --- js/xpconnect/src/Sandbox.cpp | 5 ++++- js/xpconnect/src/xpcprivate.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/js/xpconnect/src/Sandbox.cpp b/js/xpconnect/src/Sandbox.cpp index 9e46f2dae0..6ce1104179 100644 --- a/js/xpconnect/src/Sandbox.cpp +++ b/js/xpconnect/src/Sandbox.cpp @@ -1264,7 +1264,10 @@ xpc::CreateSandboxObject(JSContext* cx, MutableHandleValue vp, nsISupports* prin // about:memory may use that information xpc::SetLocationForGlobal(sandbox, options.sandboxName); - xpc::SetSandboxMetadata(cx, sandbox, options.metadata); + nsresult rv = xpc::SetSandboxMetadata(cx, sandbox, options.metadata); + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; + } JS_FireOnNewGlobalObject(cx, sandbox); diff --git a/js/xpconnect/src/xpcprivate.h b/js/xpconnect/src/xpcprivate.h index 6c2711210a..97f5c36fe8 100644 --- a/js/xpconnect/src/xpcprivate.h +++ b/js/xpconnect/src/xpcprivate.h @@ -3111,7 +3111,7 @@ nsresult GetSandboxMetadata(JSContext* cx, JS::HandleObject sandboxArg, JS::MutableHandleValue rval); -nsresult +[[nodiscard]] nsresult SetSandboxMetadata(JSContext* cx, JS::HandleObject sandboxArg, JS::HandleValue metadata);