From: Radoslaw Zarzynski Date: Tue, 8 Mar 2022 01:51:09 +0000 (+0000) Subject: crimson/osd, osd: don't use VLA in cls_log() anymore. X-Git-Tag: v18.0.0~1279^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=45c7b4b51abafb394928eb29a3edf20f81b3e761;p=ceph.git crimson/osd, osd: don't use VLA in cls_log() anymore. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index c32f7eb5082..2642a60fadf 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 eb20811a233..74bd95e9712 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;