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