diff --git a/ChangeLog b/ChangeLog index a772fce69f..ca563394c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-05-10 Joseph Myers + + * string/rawmemchr.c: Include . + (RAWMEMCHR): Disable -Wstringop-overflow around call to memchr + with size (size_t)-1. + 2017-05-09 Joseph Myers * sysdeps/unix/sysv/linux/mips/mips32/accept4.c: Remove file. diff --git a/string/rawmemchr.c b/string/rawmemchr.c index 54e8dcd294..42a3f8aaba 100644 --- a/string/rawmemchr.c +++ b/string/rawmemchr.c @@ -16,6 +16,7 @@ . */ #include +#include #ifndef RAWMEMCHR # define RAWMEMCHR __rawmemchr @@ -25,8 +26,15 @@ void * RAWMEMCHR (const void *s, int c) { + DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (7, 0) + /* GCC 8 warns about the size passed to memchr being larger than + PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ + DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); +#endif if (c != '\0') return memchr (s, c, (size_t)-1); + DIAG_POP_NEEDS_COMMENT; return (char *)s + strlen (s); } libc_hidden_def (__rawmemchr)