All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tools/libxl: remove usage of VLA arrays
@ 2024-10-28 11:48 Roger Pau Monne
  2024-10-28 11:58 ` Frediano Ziglio
  2024-10-28 12:03 ` Andrew Cooper
  0 siblings, 2 replies; 9+ messages in thread
From: Roger Pau Monne @ 2024-10-28 11:48 UTC (permalink / raw)
  To: xen-devel; +Cc: Roger Pau Monne, Anthony PERARD, Juergen Gross

Clang 19 complains with the following error when building libxl:

libxl_utils.c:48:15: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant]
   48 |     char path[strlen("/local/domain") + 12];
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

Replace the usage of strlen() with ARRAY_SIZE(), which allows the literal
string length to be known at build time.  Note ARRAY_SIZE() accounts for the
NUL terminator while strlen() didn't, hence subtract 1 from the total size
calculation.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 tools/libs/light/libxl_utils.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_utils.c b/tools/libs/light/libxl_utils.c
index 10398a6c8611..b3f5e751cc3f 100644
--- a/tools/libs/light/libxl_utils.c
+++ b/tools/libs/light/libxl_utils.c
@@ -45,7 +45,7 @@ unsigned long libxl_get_required_shadow_memory(unsigned long maxmem_kb, unsigned
 char *libxl_domid_to_name(libxl_ctx *ctx, uint32_t domid)
 {
     unsigned int len;
-    char path[strlen("/local/domain") + 12];
+    char path[ARRAY_SIZE("/local/domain") + 11];
     char *s;
 
     snprintf(path, sizeof(path), "/local/domain/%d/name", domid);
@@ -141,7 +141,7 @@ int libxl_cpupool_qualifier_to_cpupoolid(libxl_ctx *ctx, const char *p,
 char *libxl_cpupoolid_to_name(libxl_ctx *ctx, uint32_t poolid)
 {
     unsigned int len;
-    char path[strlen("/local/pool") + 12];
+    char path[ARRAY_SIZE("/local/pool") + 11];
     char *s;
 
     snprintf(path, sizeof(path), "/local/pool/%d/name", poolid);
-- 
2.46.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-11-05 20:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-28 11:48 [PATCH] tools/libxl: remove usage of VLA arrays Roger Pau Monne
2024-10-28 11:58 ` Frediano Ziglio
2024-10-28 12:03 ` Andrew Cooper
2024-10-28 12:48   ` Jan Beulich
2024-10-28 12:57     ` Frediano Ziglio
2024-10-28 17:26       ` Roger Pau Monné
2024-10-29  7:42         ` Jan Beulich
2024-11-05 15:05   ` Anthony PERARD
2024-11-05 20:19     ` Andrew Cooper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.