polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Jan 2020 16:07:47 +0000 (17:07 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 5 Feb 2020 16:43:10 +0000 (17:43 +0100)
commitfb21e13e8ecbe25d80c1219b14e6495795df18ef
tree43e1f84a165e96fca7a9bd58e20353601b169656
parent2e504c92d195d407cec3ba9ed156b195c31a5f3f
polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it

Previously, when doing an async PK query we'd store the original
callback/userdata pair and call it again after the PK request is
complete. This is problematic, since PK queries might be slow and in the
meantime the userdata might be released and re-acquired. Let's avoid
this by always traversing through the message handlers so that we always
re-resolve the callback and userdata pair and thus can be sure it's
up-to-date and properly valid.

(cherry picked from commit 637486261528e8aa3da9f26a4487dc254f4b7abb)
(cherry picked from commit e2d4cb9843c50eff76e9104fec6b448c0d7c8814)
src/shared/bus-polkit.c