forked from rpms/glibc
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. */
|