From: Michal Sekletar Date: Fri, 31 May 2019 13:23:23 +0000 (+0200) Subject: dbus-execute: make transfer of CPUAffinity endian safe (#12711) X-Git-Tag: v243-rc1~331 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=75e40119a471454516ad0acc96f6f4094e7fb652;p=thirdparty%2Fsystemd.git dbus-execute: make transfer of CPUAffinity endian safe (#12711) We store the affinity mask in the native endian. However, over D-Bus we must transfer the mask in little endian byte order. This is the second part of c367f996f5f091a63f812f0140b304c649be77fc. --- diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c index d7d339b9d79..3a71e7bcde0 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c @@ -214,12 +214,15 @@ static int property_get_cpu_affinity( sd_bus_error *error) { ExecContext *c = userdata; + _cleanup_free_ uint8_t *array = NULL; + size_t allocated; assert(bus); assert(reply); assert(c); - return sd_bus_message_append_array(reply, 'y', c->cpu_set.set, c->cpu_set.allocated); + (void) cpu_set_to_dbus(&c->cpu_set, &array, &allocated); + return sd_bus_message_append_array(reply, 'y', array, allocated); } static int property_get_timer_slack_nsec(