From a7cc7038ac06d2c02cbaa5a749aa47b4f7cbe786 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 7 Jan 2025 14:48:22 +0100 Subject: [PATCH] varlink: rely on sd_varlink_dispatch() for validating zero-argument method calls, too --- src/shared/varlink-io.systemd.service.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shared/varlink-io.systemd.service.c b/src/shared/varlink-io.systemd.service.c index d029fda41b..c369ad2646 100644 --- a/src/shared/varlink-io.systemd.service.c +++ b/src/shared/varlink-io.systemd.service.c @@ -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");