]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
varlink: rely on sd_varlink_dispatch() for validating zero-argument method calls...
authorLennart Poettering <lennart@poettering.net>
Tue, 7 Jan 2025 13:48:22 +0000 (14:48 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 18 Jan 2025 22:24:29 +0000 (23:24 +0100)
src/shared/varlink-io.systemd.service.c

index d029fda41badd8f9e6694028628e1b254281946e..c369ad2646ceebfe3f1450dc4d8fa920fda5158d 100644 (file)
@@ -25,11 +25,16 @@ SD_VARLINK_DEFINE_INTERFACE(
                 SD_VARLINK_SYMBOL_COMMENT("Sets the maximum log level."),
                 &vl_method_SetLogLevel);
 
+/* Generic implementations for some of the method calls above */
+
 int varlink_method_ping(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata) {
+        int r;
+
         assert(link);
 
-        if (sd_json_variant_elements(parameters) > 0)
-                return sd_varlink_error_invalid_parameter(link, parameters);
+        r = sd_varlink_dispatch(link, parameters, /* dispatch_table= */ NULL, /* userdata= */ NULL);
+        if (r != 0)
+                return r;
 
         log_debug("Received io.systemd.service.Ping");