From 45c7b4b51abafb394928eb29a3edf20f81b3e761 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Tue, 8 Mar 2022 01:51:09 +0000 Subject: [PATCH] crimson/osd, osd: don't use VLA in cls_log() anymore. Signed-off-by: Radoslaw Zarzynski --- src/crimson/osd/objclass.cc | 13 +++++++------ src/osd/objclass.cc | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index c32f7eb508210..2642a60fadf0b 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -3,6 +3,7 @@ #include #include +#include #include "common/ceph_context.h" #include "common/ceph_releases.h" #include "common/config.h" @@ -536,16 +537,16 @@ int cls_cxx_get_gathered_data(cls_method_context_t hctx, std::map buf(size); va_start(ap, format); - int n = vsnprintf(buf, size, format, ap); + int n = vsnprintf(buf.data(), size, format, ap); va_end(ap); -#define MAX_SIZE 8196 - if ((n > -1 && n < size) || size > MAX_SIZE) { - dout(ceph::dout::need_dynamic(level)) << buf << dendl; +#define MAX_SIZE 8196UL + if ((n > -1 && static_cast(n) < size) || size > MAX_SIZE) { + dout(ceph::dout::need_dynamic(level)) << buf.data() << dendl; return n; } size *= 2; diff --git a/src/osd/objclass.cc b/src/osd/objclass.cc index eb20811a233b3..74bd95e9712e2 100644 --- a/src/osd/objclass.cc +++ b/src/osd/objclass.cc @@ -2,6 +2,7 @@ // vim: ts=8 sw=2 smarttab #include +#include #include "common/ceph_context.h" #include "common/ceph_releases.h" #include "common/config.h" @@ -753,16 +754,16 @@ int cls_cxx_get_gathered_data(cls_method_context_t hctx, std::map buf(size); va_start(ap, format); - int n = vsnprintf(buf, size, format, ap); + int n = vsnprintf(buf.data(), size, format, ap); va_end(ap); -#define MAX_SIZE 8196 - if ((n > -1 && n < size) || size > MAX_SIZE) { - dout(ceph::dout::need_dynamic(level)) << buf << dendl; +#define MAX_SIZE 8196UL + if ((n > -1 && static_cast(n) < size) || size > MAX_SIZE) { + dout(ceph::dout::need_dynamic(level)) << buf.data() << dendl; return n; } size *= 2; -- 2.39.5