From: Luca Boccassi Date: Sat, 28 Mar 2026 21:41:02 +0000 (+0000) Subject: sd-bus: add assert_cc for message allocation size X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f5b28b72c7ff78c7eabcce7ad4f0eaebfd5545d;p=thirdparty%2Fsystemd.git sd-bus: add assert_cc for message allocation size Use CONST_ALIGN_TO to express the compile-time overflow check for the ALIGN(sizeof(sd_bus_message)) + sizeof(BusMessageHeader) allocation, since ALIGN() is not constexpr. CID#1548031 Follow-up for de1c301ed165eb4d04a0c9d4babe97912b5233bb --- diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 1f278db54e5..507c5d7ff40 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -464,6 +464,8 @@ _public_ int sd_bus_message_new( /* Creation of messages with _SD_BUS_MESSAGE_TYPE_INVALID is allowed. */ assert_return(type < _SD_BUS_MESSAGE_TYPE_MAX, -EINVAL); + /* Silence static analyzers */ + assert_cc(sizeof(sd_bus_message) + sizeof(void*) + sizeof(BusMessageHeader) <= SIZE_MAX); sd_bus_message *t = malloc0(ALIGN(sizeof(sd_bus_message)) + sizeof(BusMessageHeader)); if (!t) return -ENOMEM;