You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
3 years ago
|
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. */
|