aports/testing/gcc/11_all_default-warn-format-security.patch
2011-07-10 10:25:54 +00:00

50 lines
1.7 KiB
Diff

Enable -Wformat and -Wformat-security by default.
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -201,7 +201,7 @@ int warn_unknown_pragmas; /* Tri state variable. */
/* Warn about format/argument anomalies in calls to formatted I/O functions
(*printf, *scanf, strftime, strfmon, etc.). */
-int warn_format;
+int warn_format = 1;
/* C/ObjC language option variables. */
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -384,7 +384,7 @@ C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning
Warn about format strings that contain NUL bytes
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
Warn about possible security problems with format functions
Wformat-y2k
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3111,6 +3111,9 @@ aspects of format checking, the options @option{-Wformat-y2k},
@option{-Wformat-nonliteral}, @option{-Wformat-security}, and
@option{-Wformat=2} are available, but are not included in @option{-Wall}.
+In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++.
+To disable, use @option{-Wformat=0}.
+
@item -Wformat-y2k
@opindex Wformat-y2k
@opindex Wno-format-y2k
@@ -3164,6 +3167,11 @@ currently a subset of what @option{-Wformat-nonliteral} warns about, but
in future warnings may be added to @option{-Wformat-security} that are not
included in @option{-Wformat-nonliteral}.)
+In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++.
+To disable, use @option{-Wno-format-security}, or disable all format warnings
+with @option{-Wformat=0}. To make format security warnings fatal, specify
+@option{-Werror=format-security}.
+
@item -Wformat=2
@opindex Wformat=2
@opindex Wno-format=2