]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use a #pragma to suppress a bogus GCC 10 warning instead of an assert [BZ 27832].
authorMartin Sebor <msebor@redhat.com>
Mon, 10 May 2021 20:26:42 +0000 (14:26 -0600)
committerMartin Sebor <msebor@redhat.com>
Mon, 10 May 2021 20:30:09 +0000 (14:30 -0600)
Reviewed-by: fweimer@redhat.com
nss/makedb.c

index 9389f6b548e5788bdd020c54cfe9755be1cb5854..8690e11e82e2486e730961c8ae49924b04f55c8b 100644 (file)
@@ -792,7 +792,13 @@ write_output (int fd)
                          + nhashentries_total * sizeof (stridx_t)));
   header->allocate = file_offset;
 
-  /* Help GCC 10 see iov_nelts doesn't overflow the writev argument.  */
+#if __GNUC_PREREQ (10, 0) && !__GNUC_PREREQ (11, 0)
+  DIAG_PUSH_NEEDS_COMMENT;
+  /* Avoid GCC 10 false positive warning: specified size exceeds maximum
+     object size.  */
+  DIAG_IGNORE_NEEDS_COMMENT (10, "-Wstringop-overflow");
+#endif
+
   assert (iov_nelts <= INT_MAX);
   if (writev (fd, iov, iov_nelts) != keydataoffset)
     {
@@ -800,6 +806,10 @@ write_output (int fd)
       return EXIT_FAILURE;
     }
 
+#if __GNUC_PREREQ (10, 0) && !__GNUC_PREREQ (11, 0)
+  DIAG_POP_NEEDS_COMMENT;
+#endif
+
   return EXIT_SUCCESS;
 }