From: Jérémie Galarneau Date: Thu, 14 Apr 2022 21:36:54 +0000 (-0400) Subject: Fix: liblttng-ctl: non-packed structure used for tracker serialization X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2d7da3031c65c4569ff2428a7c2cad30007f3b50;p=deliverable%2Flttng-tools.git Fix: liblttng-ctl: non-packed structure used for tracker serialization Using unpacked structures in liblttng-ctl's protocol can cause issues when mixing sessiond and client of different bitness. In this specific case I doubt it causes a problem, but it could rightfully do on some architectures. Signed-off-by: Jérémie Galarneau Change-Id: Ie17096a55a4b7508c604e184cae877b83df6e451 --- diff --git a/src/common/tracker.cpp b/src/common/tracker.cpp index 181a0a8c9..41e141afe 100644 --- a/src/common/tracker.cpp +++ b/src/common/tracker.cpp @@ -22,7 +22,7 @@ struct process_attr_tracker_values_comm_header { uint32_t count; -}; +} LTTNG_PACKED; struct process_attr_tracker_value_comm { /* enum lttng_process_attr_value_type */ @@ -32,7 +32,7 @@ struct process_attr_tracker_value_comm { /* Includes the '\0' terminator. */ uint32_t name_len; } value; -}; +} LTTNG_PACKED; #define GET_INTEGRAL_COMM_VALUE(value_ptr, as_type) \ ((as_type)(std::is_signed::value ? (value_ptr)->u._signed : \