]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Fix clang 20 format-truncation warnings
authorGary Lockyer <gary@catalyst.net.nz>
Mon, 19 May 2025 22:00:26 +0000 (10:00 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Wed, 28 May 2025 23:04:38 +0000 (23:04 +0000)
Fix:
  lib/replace/tests/testsuite.c:387:6: error:
    'snprintf' will always be truncated; specified size is 3,
    but format string expands to at least 5 [-Werror,-Wformat-truncation]
  387 |         if (snprintf(tmp, 3, "foo%d", 9) != 4) {
      |             ^

As this is an explicit test of snprintf's truncation behaviour
the warning can be safely suppressed.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Anoop C S <anoopcs@samba.org>
buildtools/wafsamba/samba_autoconf.py
lib/replace/tests/testsuite.c

index 255e63b7ff89bdf7b95f42fb0487ba902c0f19fc..31a20c812c55bd6a5cbd849bdee4bb53a51cfe1a 100644 (file)
@@ -843,7 +843,6 @@ int main(void) {
             conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Werror -Wno-error=deprecated-declarations', testflags=True)
             conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=tautological-compare', testflags=True)
             conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=cast-align', testflags=True)
-            conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=format-truncation', testflags=True)
             conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=cast-qual', testflags=True)
             conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=format-nonliteral', testflags=True)
 
index 7c9195b4753adab6422c435d4f4a8f3e6dbc5539..624b1687b4fa07f3754d5d248f9b051722d856cb 100644 (file)
@@ -380,6 +380,11 @@ static int test_asprintf(void)
        return true;
 }
 
+/* This test explicitly triggers truncation, so we need to
+ * suppress the warning
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-truncation"
 static int test_snprintf(void)
 {
        char tmp[10];
@@ -397,6 +402,7 @@ static int test_snprintf(void)
        printf("success: snprintf\n");
        return true;
 }
+#pragma GCC diagnostic pop
 
 static int test_vasprintf(void)
 {