diff --git a/dom/worklet/loader/WorkletModuleLoader.cpp b/dom/worklet/loader/WorkletModuleLoader.cpp index 47bfec52f421..9dade1399ceb 100644 --- a/dom/worklet/loader/WorkletModuleLoader.cpp +++ b/dom/worklet/loader/WorkletModuleLoader.cpp @@ -201,7 +201,7 @@ nsresult WorkletModuleLoader::CreateTextModule( aRequest->mLoadContext.get()); NS_ENSURE_SUCCESS(rv, rv); - auto compile = [&](auto& source) { + auto compile = [&](auto& source) -> JSObject* { using T = decltype(source); static_assert(std::is_same_v&> || std::is_same_v&>); @@ -213,6 +213,9 @@ nsresult WorkletModuleLoader::CreateTextModule( } else { str = JS_NewUCStringCopyN(aCx, source.get(), source.length()); } + if (!str) { + return nullptr; + } JS::Rooted defaultExport(aCx, JS::StringValue(str)); return JS::CreateDefaultExportSyntheticModule(aCx, defaultExport);