From aaf2629146f127c281bc35560b755141e0cf1b5c Mon Sep 17 00:00:00 2001 From: Adrian Vovk Date: Mon, 23 Sep 2024 12:55:34 +0200 Subject: [PATCH] sysupdated: Vacuum: Fixup dbus type We were passing a u64 into an argument that needs a u32 --- src/sysupdate/sysupdated.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sysupdate/sysupdated.c b/src/sysupdate/sysupdated.c index 542e8ec7b1d..a54c6bd10cf 100644 --- a/src/sysupdate/sysupdated.c +++ b/src/sysupdate/sysupdated.c @@ -1139,9 +1139,12 @@ static int target_method_vacuum_finish( v = sd_json_variant_by_key(json, "removed"); if (!v) return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "vacuum", "Missing key 'removed'"); + if (!sd_json_variant_is_unsigned(v)) + return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "vacuum", "Key 'removed' should be an unsigned int"); instances = sd_json_variant_unsigned(v); + assert(instances <= UINT32_MAX); - return sd_bus_reply_method_return(msg, "u", instances); + return sd_bus_reply_method_return(msg, "u", (uint32_t) instances); } static int target_method_vacuum(sd_bus_message *msg, void *userdata, sd_bus_error *error) { -- 2.47.3