telemetry: fix JSON output buffer length
authorGowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Mon, 11 Oct 2021 10:54:43 +0000 (16:24 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 13 Oct 2021 16:17:24 +0000 (18:17 +0200)
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>
lib/telemetry/telemetry_json.h

index ad270b9..f02a12f 100644 (file)
@@ -9,6 +9,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 #include <rte_common.h>
+#include <rte_telemetry.h>
 
 /**
  * @file
  * @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;