On Fri, 10 Mar 2023 18:18:36 +0000
Bruce Richardson <[email protected]> wrote:
> On Alpine linux, the telemetry_data_autotest was failing for the
> test where we had dictionaries embedded in other dictionaries up
> to three levels deep. Indications are that this issue is due to
> excess data being stored on the stack, so replace stack-allocated
> buffer data with dynamically allocated data in the case where we
> are doing recursive processing of telemetry data structures into
> json.
>
> Bugzilla ID: 1177
> Fixes: c933bb5177ca ("telemetry: support array values in data object")
> Fixes: d2671e642a8e ("telemetry: support dict of dicts")
> Cc: [email protected]
Looking at the telemetry code:
- why so many temporary buffers, could this be streamed or redesigned
so that an allocated buffer is returned.
- why is rte_tel_json_XXX all inline? These should just be internal
functions and not in a .h file.
FYI - if this library reused existing json writer it would have
been much simpler.
https://github.com/shemminger/iproute2/blob/main/lib/json_writer.c