]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - stdlib/tst-secure-getenv.c
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / stdlib / tst-secure-getenv.c
index e5da404b8235c08b4055c897d426cadbeaac927a..74580b889ab8aa762adb2b6991c64240d778fd01 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #include <sys/wait.h>
 #include <unistd.h>
 
+#include <support/support.h>
+#include <support/test-driver.h>
+
 static char MAGIC_ARGUMENT[] = "run-actual-test";
 #define MAGIC_STATUS 19
 
-static const char *test_dir;
-
 /* Return a GID which is not our current GID, but is present in the
    supplementary group list.  */
 static gid_t
@@ -64,27 +65,17 @@ choose_gid (void)
 static int
 run_executable_sgid (gid_t target)
 {
-  char *dirname = 0;
-  char *execname = 0;
+  char *dirname = xasprintf ("%s/secure-getenv.%jd",
+                            test_dir, (intmax_t) getpid ());
+  char *execname = xasprintf ("%s/bin", dirname);
   int infd = -1;
   int outfd = -1;
   int ret = -1;
-  if (asprintf (&dirname, "%s/secure-getenv.%jd",
-               test_dir, (intmax_t) getpid ()) < 0)
-    {
-      printf ("asprintf: %m\n");
-      goto err;
-    }
   if (mkdir (dirname, 0700) < 0)
     {
       printf ("mkdir: %m\n");
       goto err;
     }
-  if (asprintf (&execname, "%s/bin", dirname) < 0)
-    {
-      printf ("asprintf: %m\n");
-      goto err;
-    }
   infd = open ("/proc/self/exe", O_RDONLY);
   if (infd < 0)
     {
@@ -247,6 +238,5 @@ alternative_main (int argc, char **argv)
     }
 }
 
-#define PREPARE(argc, argv) alternative_main(argc, argv)
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#define PREPARE alternative_main
+#include <support/test-driver.c>