330b961e66
Upstream commit: 4ed990e5b97a61f29f929bdeb36c5b2abb547a64 - Add MADV_POPULATE_READ and MADV_POPULATE_WRITE from Linux 5.14 to bits/mman-linux.h - Update kernel version to 5.14 in tst-mman-consts.py - Update syscall lists for Linux 5.14 - Use Linux 5.14 in build-many-glibcs.py - Fix failing nss/tst-nss-files-hosts-long with local resolver - iconvconfig: Fix behaviour with --prefix [BZ #28199] - nptl: Fix race between pthread_kill and thread exit (swbz#12889, #1994068) - nptl: pthread_kill, pthread_cancel should not fail after exit (swbz#19193, #1994068) - support: Add support_wait_for_thread_exit - MIPS: Setup errno for {f,l,}xstat - x86-64: Use testl to check __x86_string_control - elf: Fix missing colon in LD_SHOW_AUXV output (swbz#28253, #1995648) - librt: add test (swbz#28213, #1994264) - CVE-2021-38604: fix NULL pointer dereference in mq_notify (swbz#28213, #1994264) - Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (bug 28182) - iconv_charmap: Close output file when done - copy_and_spawn_sgid: Avoid double calls to close() - gaiconf_init: Avoid double-free in label and precedence lists - gconv_parseconfdir: Fix memory leak - ldconfig: avoid leak on empty paths in config file
25 lines
925 B
Diff
25 lines
925 B
Diff
commit 7ff4da3dc26de351a5abe7c2905038cbe55c8041
|
|
Author: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
Date: Tue Aug 3 21:10:53 2021 +0530
|
|
|
|
copy_and_spawn_sgid: Avoid double calls to close()
|
|
|
|
If close() on infd and outfd succeeded, reset the fd numbers so that
|
|
we don't attempt to close them again.
|
|
|
|
Reviewed-by: Arjun Shankar <arjun@redhat.com>
|
|
(cherry picked from commit 45caed9d67a00af917d8b5b88d4b5eb1225b7aef)
|
|
|
|
diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c
|
|
index 27bfd19c9374a183..0bacf6dbc23b0732 100644
|
|
--- a/support/support_capture_subprocess.c
|
|
+++ b/support/support_capture_subprocess.c
|
|
@@ -170,6 +170,7 @@ copy_and_spawn_sgid (char *child_id, gid_t gid)
|
|
support_subprogram because we only want the program exit status, not the
|
|
contents. */
|
|
ret = 0;
|
|
+ infd = outfd = -1;
|
|
|
|
char * const args[] = {execname, child_id, NULL};
|
|
|