diff mbox series

[v2] string: Fix tester build with fortify enable with gcc < 12

Message ID 20230811153825.2021109-1-bmahi496@linux.ibm.com
State New
Headers show
Series [v2] string: Fix tester build with fortify enable with gcc < 12 | expand

Commit Message

develop--- via Libc-alpha Aug. 11, 2023, 3:38 p.m. UTC
From: Mahesh Bodapati <bmahi496@linux.ibm.com>

When building with fortify enabled, GCC < 12 issues a warning on the
fortify strncat wrapper might overflow the destination buffer (the
failure is tied to -Werror).

Checked on ppc64 and x86_64.
---
 string/tester.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Adhemerval Zanella Aug. 15, 2023, 11:19 a.m. UTC | #1
On 11/08/23 12:38, bmahi496--- via Libc-alpha wrote:
> From: Mahesh Bodapati <bmahi496@linux.ibm.com>
> 
> When building with fortify enabled, GCC < 12 issues a warning on the
> fortify strncat wrapper might overflow the destination buffer (the
> failure is tied to -Werror).
> 
> Checked on ppc64 and x86_64.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  string/tester.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/string/tester.c b/string/tester.c
> index f7d4bac5a8..824cf315ff 100644
> --- a/string/tester.c
> +++ b/string/tester.c
> @@ -34,6 +34,14 @@
>  DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation");
>  #endif
>  
> +/* When building with fortify enabled, GCC < 12 issues a warning on the
> +   fortify strncat wrapper might overflow the destination buffer (the
> +   failure is tied to -Werror).
> +   Triggered by strncat fortify wrapper when it is enabled.  */
> +#if __GNUC_PREREQ (11, 0)
> +DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
> +#endif
> +
>  #include <errno.h>
>  #include <stdint.h>
>  #include <stdio.h>
> @@ -52,9 +60,6 @@ DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args");
>  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wrestrict");
>  DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow=");
>  #endif
> -#if __GNUC_PREREQ (11, 0)
> -DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
> -#endif
>  
>  
>  #define	STREQ(a, b)	(strcmp((a), (b)) == 0)
diff mbox series

Patch

diff --git a/string/tester.c b/string/tester.c
index f7d4bac5a8..824cf315ff 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -34,6 +34,14 @@ 
 DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation");
 #endif
 
+/* When building with fortify enabled, GCC < 12 issues a warning on the
+   fortify strncat wrapper might overflow the destination buffer (the
+   failure is tied to -Werror).
+   Triggered by strncat fortify wrapper when it is enabled.  */
+#if __GNUC_PREREQ (11, 0)
+DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
+#endif
+
 #include <errno.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -52,9 +60,6 @@  DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args");
 DIAG_IGNORE_NEEDS_COMMENT (9, "-Wrestrict");
 DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow=");
 #endif
-#if __GNUC_PREREQ (11, 0)
-DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
-#endif
 
 
 #define	STREQ(a, b)	(strcmp((a), (b)) == 0)