]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind-varlink: add missing validation for session class
authorMike Yuan <me@yhndnzj.com>
Sun, 11 Jan 2026 14:51:55 +0000 (15:51 +0100)
committerMike Yuan <me@yhndnzj.com>
Sat, 17 Jan 2026 14:00:09 +0000 (15:00 +0100)
D-Bus CreateSession() method carries this check, but the varlink
one didn't.

src/login/logind-varlink.c

index ee83ed1b892813b8637c50885e5ab6f5907ae82c..a17f64271e8a4cc6ab040ed1987db3ff6f37d56c 100644 (file)
@@ -184,6 +184,9 @@ static int vl_method_create_session(sd_varlink *link, sd_json_variant *parameter
         if (r != 0)
                 return r;
 
+        if (p.class == SESSION_NONE)
+                return sd_varlink_error_invalid_parameter_name(link, "Class");
+
         Seat *seat = NULL;
         if (p.seat) {
                 seat = hashmap_get(m->seats, p.seat);