telemetry: fix JSON output buffer length

Earlier, JSON message length was limited to 1024 which would not
allow data more than this size. Removed this limitation by creating
output buffer based on requested data length.

Fixes: 52af6ccb2b39 ("telemetry: add utility functions for creating JSON")
Cc: stable@dpdk.org

Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Acked-by: Ciara Power <ciara.power@intel.com>
This commit is contained in:
Gowrishankar Muthukrishnan 2021-10-11 16:24:43 +05:30 committed by Thomas Monjalon
parent 0faa4cfc50
commit b76731683b

View File

@ -9,6 +9,7 @@
#include <stdarg.h>
#include <stdio.h>
#include <rte_common.h>
#include <rte_telemetry.h>
/**
* @file
@ -23,13 +24,13 @@
* @internal
* Copies a value into a buffer if the buffer has enough available space.
* Nothing written to buffer if an overflow ocurs.
* This function is not for use for values larger than 1k.
* This function is not for use for values larger than given buffer length.
*/
__rte_format_printf(3, 4)
static inline int
__json_snprintf(char *buf, const int len, const char *format, ...)
{
char tmp[1024];
char tmp[len];
va_list ap;
int ret;