diff options
Diffstat (limited to 'core/glibc/glibc-2.18-getaddrinfo-assertion.patch')
-rw-r--r-- | core/glibc/glibc-2.18-getaddrinfo-assertion.patch | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/core/glibc/glibc-2.18-getaddrinfo-assertion.patch b/core/glibc/glibc-2.18-getaddrinfo-assertion.patch deleted file mode 100644 index 2f1f7c694..000000000 --- a/core/glibc/glibc-2.18-getaddrinfo-assertion.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c -index 0f4b885..e6ce4cf 100644 ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -1666,13 +1666,13 @@ rfc3484_sort (const void *p1, const void *p2, void *arg) - - /* Fill in the results in all the records. */ - for (int i = 0; i < src->nresults; ++i) -- if (src->results[i].index == a1_index) -+ if (a1_index != -1 && src->results[i].index == a1_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a1_native); - src->results[i].native = a1_native; - } -- else if (src->results[i].index == a2_index) -+ else if (a2_index != -1 && src->results[i].index == a2_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a2_native); -@@ -2532,7 +2532,14 @@ getaddrinfo (const char *name, const char *service, - tmp.addr[0] = 0; - tmp.addr[1] = 0; - tmp.addr[2] = htonl (0xffff); -- tmp.addr[3] = sinp->sin_addr.s_addr; -+ /* Special case for lo interface, the source address -+ being possibly different than the interface -+ address. */ -+ if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000) -+ == 0x7f000000) -+ tmp.addr[3] = htonl(0x7f000001); -+ else -+ tmp.addr[3] = sinp->sin_addr.s_addr; - } - else - { --- -1.8.4.1 - |