[PATCH v3 0/5] telemetry: remove variable length arrays
Bruce Richardson
bruce.richardson at intel.com
Wed Apr 5 18:03:21 CEST 2023
This patchset introduces a series of changes to remove variable-length
arrays from the telemetry code. The first patch replaces a VLA with
malloc memory for the serialization of the json objects contained within
the main response object, which fixes a crash observed on alpine linux.
Subsequent patches rework the json printing code to avoid the use of
temporary buffers where possible, or use malloc-allocated memory where
not.
Based off testing with the unit tests for telemetry, json serialization
for the telemetry callbacks should always use the path where a temporary
buffer is *not* used, but the allocation-case is kept to ensure that any
unexpected edge-cases are covered too.
V3: remove use of non-standard asprintf function in patch 2.
V2: expand from single fix for Alpine, to general cleanup to remove VLAs
Bruce Richardson (5):
telemetry: fix autotest failures on Alpine
telemetry: remove variable length array in printf fn
telemetry: split out body of json string format fn
telemetry: rename local variables
telemetry: remove VLA in json string format function
app/test/test_telemetry_json.c | 2 +-
lib/telemetry/telemetry.c | 21 ++++++-
lib/telemetry/telemetry_json.h | 111 +++++++++++++++++++++++++--------
3 files changed, 104 insertions(+), 30 deletions(-)
--
2.37.2
More information about the dev
mailing list