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
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
commit a5bd2e10e0c25b80286dc36068e22a4cb4893af0
|
|
Author: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
Date: Tue Aug 3 21:11:03 2021 +0530
|
|
|
|
gaiconf_init: Avoid double-free in label and precedence lists
|
|
|
|
labellist and precedencelist could get freed a second time if there
|
|
are allocation failures, so set them to NULL to avoid a double-free.
|
|
|
|
Reviewed-by: Arjun Shankar <arjun@redhat.com>
|
|
(cherry picked from commit 77a34079d8f3d63b61543bf3af93043f8674e4c4)
|
|
|
|
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
|
|
index 838a68f0229b5aa8..43dfc6739e350a58 100644
|
|
--- a/sysdeps/posix/getaddrinfo.c
|
|
+++ b/sysdeps/posix/getaddrinfo.c
|
|
@@ -2008,6 +2008,7 @@ gaiconf_init (void)
|
|
l = l->next;
|
|
}
|
|
free_prefixlist (labellist);
|
|
+ labellist = NULL;
|
|
|
|
/* Sort the entries so that the most specific ones are at
|
|
the beginning. */
|
|
@@ -2046,6 +2047,7 @@ gaiconf_init (void)
|
|
l = l->next;
|
|
}
|
|
free_prefixlist (precedencelist);
|
|
+ precedencelist = NULL;
|
|
|
|
/* Sort the entries so that the most specific ones are at
|
|
the beginning. */
|