* tests/test-putenv.c (main): Declare static variables to pass to
putenv.
---
 ChangeLog           |  6 ++++++
 tests/test-putenv.c | 12 +++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e09ff2a234..bc128db28b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-05-23  Collin Funk  <collin.fu...@gmail.com>
+
+       putenv tests: Silence -Wanalyzer-putenv-of-auto-var.
+       * tests/test-putenv.c (main): Declare static variables to pass to
+       putenv.
+
 2024-05-23  Paul Eggert  <egg...@cs.ucla.edu>
 
        POSIX.1-2024 has been approved
diff --git a/tests/test-putenv.c b/tests/test-putenv.c
index 37615e3af9..b772082d20 100644
--- a/tests/test-putenv.c
+++ b/tests/test-putenv.c
@@ -37,9 +37,13 @@ main (void)
   unsetenv ("TEST_VAR");
   ASSERT (getenv ("TEST_VAR") == NULL);
 
+  /* Use static on variables passed to the environment to pacify
+     -Wanalyzer-putenv-of-auto-var.  */
+
   /* Verify adding an environment variable.  */
   {
-    ASSERT (putenv ((char []) {"TEST_VAR=abc"}) == 0);
+    static char *var = "TEST_VAR=abc";
+    ASSERT (putenv (var) == 0);
     ptr = getenv ("TEST_VAR");
     ASSERT (ptr != NULL);
     ASSERT (STREQ (ptr, "abc"));
@@ -47,13 +51,15 @@ main (void)
 
   /* Verify removing an environment variable.  */
   {
-    ASSERT (putenv ((char []) {"TEST_VAR"}) == 0);
+    static char *var = "TEST_VAR";
+    ASSERT (putenv (var) == 0);
     ASSERT (getenv ("TEST_VAR") == NULL);
   }
 
   /* Verify the behavior when removing a variable not in the environment.  */
   {
-    ASSERT (putenv ((char []) {"TEST_VAR"}) == 0);
+    static char *var = "TEST_VAR";
+    ASSERT (putenv (var) == 0);
     ASSERT (getenv ("TEST_VAR") == NULL);
   }
 
-- 
2.45.1


Reply via email to