]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
authorFlorian Weimer <fweimer@redhat.com>
Wed, 21 May 2025 06:43:32 +0000 (08:43 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 21 May 2025 06:50:10 +0000 (08:50 +0200)
This should really move into support_capture_subprogram_self_sgid.

Reviewed-by: Sam James <sam@gentoo.org>
(cherry picked from commit 35fc356fa3b4f485bd3ba3114c9f774e5df7d3c2)

NEWS
elf/tst-dlopen-sgid.c

diff --git a/NEWS b/NEWS
index 51586aaad7cdfba4fbbc1b4a22b99137045d2c4f..e5d4a8304879170e0dba34dfc315bcefca3816f0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,7 @@ The following bugs were resolved with this release:
   [32882] tst-audit10 fails with SIGILL on CPUs without AVX
   [32897] dynamic-link: pthread_getattr_np fails when executable stack
     tunable is set
+  [32987] elf: Fix subprocess status handling for tst-dlopen-sgid
 \f
 Version 2.41
 
index 47829a405e90b6b92fb7932f47dc178ee18c51b6..5688b79f2e870b1dd4dd66c098f03632a0afccc0 100644 (file)
@@ -26,6 +26,8 @@
 #include <support/check.h>
 #include <support/support.h>
 #include <support/temp_file.h>
+#include <support/test-driver.h>
+#include <sys/wait.h>
 #include <unistd.h>
 
 /* This is the name of our test object.  Use a custom module for
@@ -66,10 +68,16 @@ do_test (void)
     free (from);
   }
 
-  TEST_COMPARE (support_capture_subprogram_self_sgid (magic_argument), 0);
-
   free (libdir);
 
+  int status = support_capture_subprogram_self_sgid (magic_argument);
+
+  if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
+    return EXIT_UNSUPPORTED;
+
+  if (!WIFEXITED (status))
+    FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status);
+
   return 0;
 }