From 231cab5c5e589fa24b2baa6f77ef234fea386cc3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 15 May 2025 09:30:12 +0200 Subject: [PATCH] core: always handle method call params via sd_varlink_dispatch(), even if we accept none This results in much more precise errors for the clients, and is what we do everywhere else these days. --- src/core/manager-varlink.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/manager-varlink.c b/src/core/manager-varlink.c index c124b2fc9fc..3c7e746640b 100644 --- a/src/core/manager-varlink.c +++ b/src/core/manager-varlink.c @@ -158,8 +158,9 @@ int vl_method_describe_manager(sd_varlink *link, sd_json_variant *parameters, sd assert(parameters); - 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; r = sd_json_buildo(&v, SD_JSON_BUILD_PAIR_CALLBACK("Context", manager_context_build_json, manager), -- 2.47.3