From ff675a5ba3505df7d70200c715ff5c4a14faaa8b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 22 Mar 2018 13:00:33 -0400 Subject: [PATCH] jsauthority: JSVAL_TO_OBJECT (o) to o.toObjectOrNull() Signed-off-by: Ray Strode https://bugs.freedesktop.org/show_bug.cgi?id=105865 --- src/polkitbackend/polkitbackendjsauthority.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp index 16d3645..1b36703 100644 --- a/src/polkitbackend/polkitbackendjsauthority.cpp +++ b/src/polkitbackend/polkitbackendjsauthority.cpp @@ -733,61 +733,61 @@ subject_to_jsval (PolkitBackendJsAuthority *authority, PolkitSubject *subject, PolkitIdentity *user_for_subject, gboolean subject_is_local, gboolean subject_is_active, JS::Value *out_jsval, GError **error) { gboolean ret = FALSE; JS::Value ret_jsval; const char *src; JSObject *obj; pid_t pid; uid_t uid; gchar *user_name = NULL; GPtrArray *groups = NULL; struct passwd *passwd; char *seat_str = NULL; char *session_str = NULL; src = "new Subject();"; if (!JS_EvaluateScript (authority->priv->cx, authority->priv->js_global, src, strlen (src), __FILE__, __LINE__, &ret_jsval)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Evaluating '%s' failed", src); goto out; } - obj = JSVAL_TO_OBJECT (ret_jsval); + obj = ret_jsval.toObjectOrNull(); if (POLKIT_IS_UNIX_PROCESS (subject)) { pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); } else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) { PolkitSubject *process; process = polkit_system_bus_name_get_process_sync (POLKIT_SYSTEM_BUS_NAME (subject), NULL, error); if (process == NULL) goto out; pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (process)); g_object_unref (process); } else { g_assert_not_reached (); } #ifdef HAVE_LIBSYSTEMD if (sd_pid_get_session (pid, &session_str) == 0) { if (sd_session_get_seat (session_str, &seat_str) == 0) { /* do nothing */ } } #endif /* HAVE_LIBSYSTEMD */ g_assert (POLKIT_IS_UNIX_USER (user_for_subject)); @@ -858,61 +858,61 @@ subject_to_jsval (PolkitBackendJsAuthority *authority, } /* ---------------------------------------------------------------------------------------------------- */ /* authority->priv->cx must be within a request */ static gboolean action_and_details_to_jsval (PolkitBackendJsAuthority *authority, const gchar *action_id, PolkitDetails *details, JS::Value *out_jsval, GError **error) { gboolean ret = FALSE; JS::Value ret_jsval; const char *src; JSObject *obj; gchar **keys; guint n; src = "new Action();"; if (!JS_EvaluateScript (authority->priv->cx, authority->priv->js_global, src, strlen (src), __FILE__, __LINE__, &ret_jsval)) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Evaluating '%s' failed", src); goto out; } - obj = JSVAL_TO_OBJECT (ret_jsval); + obj = ret_jsval.toObjectOrNull(); set_property_str (authority, obj, "id", action_id); keys = polkit_details_get_keys (details); for (n = 0; keys != NULL && keys[n] != NULL; n++) { gchar *key; const gchar *value; key = g_strdup_printf ("_detail_%s", keys[n]); value = polkit_details_lookup (details, keys[n]); set_property_str (authority, obj, key, value); g_free (key); } g_strfreev (keys); ret = TRUE; out: if (ret && out_jsval != NULL) *out_jsval = ret_jsval; return ret; } /* ---------------------------------------------------------------------------------------------------- */ static gpointer runaway_killer_thread_func (gpointer user_data) { PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (user_data); -- 2.16.2