From 7799441b9aa55324160deefbc65f9d918b8c94c1 Mon Sep 17 00:00:00 2001
From: Xi Ruoyao <xry111@mengyan1223.wang>
Date: Tue, 10 Aug 2021 18:52:56 +0800
Subject: [PATCH] jsauthority: ensure to call JS_Init() and JS_ShutDown()
 exactly once

Before this commit, we were calling JS_Init() in
polkit_backend_js_authority_class_init and never called JS_ShutDown.
This is actually a misusage of SpiderMonkey API.  Quote from a comment
in js/Initialization.h (both mozjs-78 and mozjs-91):

    It is currently not possible to initialize SpiderMonkey multiple
    times (that is, calling JS_Init/JSAPI methods/JS_ShutDown in that
    order, then doing so again).

This misusage does not cause severe issues with mozjs-78.  However, when
we eventually port jsauthority to use mozjs-91, bad thing will happen:
see the test failure mentioned in #150.

This commit is tested with both mozjs-78 and mozjs-91, all tests pass
with it.

Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/91]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 src/polkitbackend/polkitbackendjsauthority.cpp | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
index 41d8d5c..38dc001 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
@@ -75,6 +75,13 @@
 
 /* ---------------------------------------------------------------------------------------------------- */
 
+static class JsInitHelperType
+{
+public:
+	JsInitHelperType() { JS_Init(); }
+	~JsInitHelperType() { JS_ShutDown(); }
+} JsInitHelper;
+
 struct _PolkitBackendJsAuthorityPrivate
 {
   gchar **rules_dirs;
@@ -589,7 +596,6 @@ polkit_backend_js_authority_finalize (GObject *object)
   delete authority->priv->js_polkit;
 
   JS_DestroyContext (authority->priv->cx);
-  /* JS_ShutDown (); */
 
   G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
 }
@@ -665,8 +671,6 @@ polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
 
 
   g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
-
-  JS_Init ();
 }
 
 /* ---------------------------------------------------------------------------------------------------- */
