perf units: Fix insufficient array space
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Mar 2025 19:45:32 +0000 (16:45 -0300)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 13 Mar 2025 07:30:08 +0000 (00:30 -0700)
No need to specify the array size, let the compiler figure that out.

This addresses this compiler warning that was noticed while build
testing on fedora rawhide:

  31    15.81 fedora:rawhide                : FAIL gcc version 15.0.1 20250225 (Red Hat 15.0.1-0) (GCC)
    util/units.c: In function 'unit_number__scnprintf':
    util/units.c:67:24: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization]
       67 |         char unit[4] = "BKMG";
          |                        ^~~~~~
    cc1: all warnings being treated as errors

Fixes: 9808143ba2e54818 ("perf tools: Add unit_number__scnprintf function")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20250310194534.265487-3-acme@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/units.c

index 32c39cfe209b3bba09b3ae829c25249a3187ae4a..4c6a86e1cb54b222c75d9b02dbf70319b1711a4f 100644 (file)
@@ -64,7 +64,7 @@ unsigned long convert_unit(unsigned long value, char *unit)
 
 int unit_number__scnprintf(char *buf, size_t size, u64 n)
 {
-       char unit[4] = "BKMG";
+       char unit[] = "BKMG";
        int i = 0;
 
        while (((n / 1024) > 1) && (i < 3)) {