33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
Index: glibc-2.23-276-gb65b205/resolv/nss_dns/dns-host.c
|
|
===================================================================
|
|
--- glibc-2.23-276-gb65b205.orig/resolv/nss_dns/dns-host.c
|
|
+++ glibc-2.23-276-gb65b205/resolv/nss_dns/dns-host.c
|
|
@@ -78,6 +78,7 @@
|
|
#include <stdlib.h>
|
|
#include <stddef.h>
|
|
#include <string.h>
|
|
+#include <libc-internal.h>
|
|
|
|
#include "nsswitch.h"
|
|
|
|
@@ -566,10 +567,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;
|