Index: glibc-2.22-193-g315267a/resolv/nss_dns/dns-host.c =================================================================== --- glibc-2.22-193-g315267a.orig/resolv/nss_dns/dns-host.c +++ glibc-2.22-193-g315267a/resolv/nss_dns/dns-host.c @@ -79,6 +79,7 @@ #include #include #include +#include #include "nsswitch.h" @@ -561,10 +562,19 @@ addrsort (char **ap, int num) num = MAX_NR_ADDRS; for (i = 0; i < num; i++, p++) { + DIAG_PUSH_NEEDS_COMMENT +#if __GNUC_PREREQ (5, 0) + /* GCC 5.0 warns about array subscript being above array bounds, + but that's not entirely possible since i is limited to + _res.nsort which is limited to MAXRESOLVSORT. This + is likely PR/59124 which is still not fixed. */ + DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Warray-bounds") +#endif for (j = 0 ; (unsigned)j < _res.nsort; j++) if (_res.sort_list[j].addr.s_addr == (((struct in_addr *)(*p))->s_addr & _res.sort_list[j].mask)) break; + DIAG_POP_NEEDS_COMMENT aval[i] = j; if (needsort == 0 && i > 0 && j < aval[i-1]) needsort = i;