From: Adrian Vovk Date: Mon, 23 Sep 2024 10:55:34 +0000 (+0200) Subject: sysupdated: Vacuum: Fixup dbus type X-Git-Tag: v257-rc1~311^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aaf2629146f127c281bc35560b755141e0cf1b5c;p=thirdparty%2Fsystemd.git sysupdated: Vacuum: Fixup dbus type We were passing a u64 into an argument that needs a u32 --- 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) {