From eda10260a05f19b7507ffd531fd435fc48c2c9b4 Mon Sep 17 00:00:00 2001 From: Yaping Li <202858510+YapingLi04@users.noreply.github.com> Date: Sun, 10 May 2026 14:50:13 +0000 Subject: [PATCH] logind: zero-initialize dispatch struct in vl_method_release_session() The local struct passed to sd_varlink_dispatch() was not zero-initialized. Since sd_json_dispatch_full() does not call handlers for absent optional fields, p.id could be left indeterminate when the client omits the Id parameter, leading to use of uninitialized memory. --- src/login/logind-varlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/login/logind-varlink.c b/src/login/logind-varlink.c index 56b02b4eb2..71a445e900 100644 --- a/src/login/logind-varlink.c +++ b/src/login/logind-varlink.c @@ -310,7 +310,7 @@ static int vl_method_release_session(sd_varlink *link, sd_json_variant *paramete struct { const char *id; - } p; + } p = {}; static const sd_json_dispatch_field dispatch_table[] = { { "Id", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, voffsetof(p, id), 0 },