From 4430adbd768fd8a3812836bc5dbbbdb1825a5911 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 19 Aug 2026 01:56:38 +0900 Subject: [PATCH] sysinstall: refuse multiple requests Otherwise, that triggers memory leak and double free. --- src/sysinstall/sysinstall.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sysinstall/sysinstall.c b/src/sysinstall/sysinstall.c index bfeb0f475c..d981be03d0 100644 --- a/src/sysinstall/sysinstall.c +++ b/src/sysinstall/sysinstall.c @@ -1822,6 +1822,10 @@ static int vl_method_list_candidate_devices( assert(link); + /* Refuse multiple requests */ + if (sd_varlink_get_userdata(link)) + return -EBUSY; + sd_varlink_server *varlink_server = sd_varlink_get_server(link); sd_event *event = sd_varlink_server_get_event(varlink_server); Hashmap **polkit_registry = ASSERT_PTR(sd_varlink_server_get_userdata(varlink_server));