polkit/polkit-0.115-state-data-memleak.patch
Siteshwar Vashisht 0684f4d2d2 Fix a memory leak in session state changes
Resolves: RHEL-187078

Signed-off-by: Siteshwar Vashisht <svashisht@redhat.com>
2026-07-07 13:28:12 +02:00

23 lines
1021 B
Diff

diff --git a/src/polkit/polkitpermission.c b/src/polkit/polkitpermission.c
index 3231bf2..984771e 100644
--- a/src/polkit/polkitpermission.c
+++ b/src/polkit/polkitpermission.c
@@ -554,7 +554,7 @@ static void on_sessions_changed (PolkitAuthority *authority,
if ((new_session_state == NULL) || ( g_strcmp0(new_session_state, permission->session_state) != 0 ))
{
last_state = permission->session_state;
- permission->session_state = new_session_state;
+ permission->session_state = g_steal_pointer (&new_session_state);
g_free(last_state);
polkit_authority_check_authorization (permission->authority,
@@ -566,6 +566,8 @@ static void on_sessions_changed (PolkitAuthority *authority,
changed_check_cb,
g_object_ref (permission));
}
+
+ g_free (new_session_state);
#else
on_authority_changed(authority, user_data); /* TODO: resolve the "too many session signals" issue for non-systemd systems later */
#endif