summaryrefslogtreecommitdiff
path: root/patches/gcc/4.4.7/140-default-format-security.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/4.4.7/140-default-format-security.patch')
-rw-r--r--patches/gcc/4.4.7/140-default-format-security.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/patches/gcc/4.4.7/140-default-format-security.patch b/patches/gcc/4.4.7/140-default-format-security.patch
new file mode 100644
index 0000000..ac1d988
--- /dev/null
+++ b/patches/gcc/4.4.7/140-default-format-security.patch
@@ -0,0 +1,49 @@
+diff -durN gcc-4.4.5.orig/gcc/c-common.c gcc-4.4.5/gcc/c-common.c
+--- gcc-4.4.5.orig/gcc/c-common.c 2010-07-27 15:07:28.000000000 +0200
++++ gcc-4.4.5/gcc/c-common.c 2010-10-09 22:59:03.000000000 +0200
+@@ -301,7 +301,7 @@
+ /* Warn about format/argument anomalies in calls to formatted I/O functions
+ (*printf, *scanf, strftime, strfmon, etc.). */
+
+-int warn_format;
++int warn_format = 1;
+
+ /* Warn about using __null (as NULL in C++) as sentinel. For code compiled
+ with GCC this doesn't matter as __null is guaranteed to have the right
+diff -durN gcc-4.4.5.orig/gcc/c.opt gcc-4.4.5/gcc/c.opt
+--- gcc-4.4.5.orig/gcc/c.opt 2009-09-18 23:53:23.000000000 +0200
++++ gcc-4.4.5/gcc/c.opt 2010-10-09 22:59:03.000000000 +0200
+@@ -236,7 +236,7 @@
+ 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
+diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
+--- gcc-4.4.5.orig/gcc/doc/invoke.texi 2010-09-08 20:13:03.000000000 +0200
++++ gcc-4.4.5/gcc/doc/invoke.texi 2010-10-09 22:59:03.000000000 +0200
+@@ -2888,6 +2888,9 @@
+ @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
+ @option{-Wformat=2} are available, but are not included in @option{-Wall}.
+
++NOTE: 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
+@@ -2941,6 +2944,11 @@
+ in future warnings may be added to @option{-Wformat-security} that are not
+ included in @option{-Wformat-nonliteral}.)
+
++NOTE: 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