From: Yaping Li <202858510+YapingLi04@users.noreply.github.com> Date: Sun, 10 May 2026 14:50:13 +0000 (+0000) Subject: logind: zero-initialize dispatch struct in vl_method_release_session() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eda10260a05f19b7507ffd531fd435fc48c2c9b4;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/login/logind-varlink.c b/src/login/logind-varlink.c index 56b02b4eb2e..71a445e9003 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 },