summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorMark Janes <[email protected]>2019-06-03 16:59:45 -0700
committerMark Janes <[email protected]>2019-06-04 12:49:38 -0700
commitc9c1e26106478258d8a91fe8fc5c69d8c3fa5206 (patch)
tree711c21b515e60bfabd7ed0a03caa9ce9010a3fee /meson.build
parentf4ef34f207d15bcade7aed644328035dd0f2cc16 (diff)
mesa: prevent common string formatting security issues
Adds a compile-time error for obvious security issues like: printf(string_var); The proposed flag is more tolerant than -Wformat-nonliteral. Specifically, it tolerates common mesa formatting like: static const char *shader_template = "really long string %d"; printf(shader_template, uniform_number); Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110833 Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build4
1 files changed, 4 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 1d32d909c95..949ab970089 100644
--- a/meson.build
+++ b/meson.build
@@ -849,6 +849,8 @@ c_args = []
foreach a : ['-Werror=implicit-function-declaration',
'-Werror=missing-prototypes', '-Werror=return-type',
'-Werror=incompatible-pointer-types',
+ '-Werror=format',
+ '-Wformat-security',
'-fno-math-errno',
'-fno-trapping-math', '-Qunused-arguments']
if cc.has_argument(a)
@@ -870,6 +872,8 @@ endif
# Check for generic C++ arguments
cpp_args = []
foreach a : ['-Werror=return-type',
+ '-Werror=format',
+ '-Wformat-security',
'-fno-math-errno', '-fno-trapping-math',
'-Qunused-arguments']
if cpp.has_argument(a)