From 29df3061b3cba1e343a76e69e47149f1dc526361 Mon Sep 17 00:00:00 2001 From: Emilia Kasper Date: Thu, 28 Jul 2016 20:24:28 +0200 Subject: [PATCH] Add memory sanitizer config, and run on travis. Reviewed-by: Rich Salz --- .travis.yml | 3 +++ Configure | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 718a350fbd..a278cb2c9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,6 +34,9 @@ matrix: - os: linux compiler: clang-3.6 env: CONFIG_OPTS="no-shared enable-asan" + - os: linux + compiler: clang-3.6 + env: CONFIG_OPTS="no-shared enable-msan" - os: linux compiler: clang-3.6 env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment" diff --git a/Configure b/Configure index bd13d378be..d4f67aba43 100755 --- a/Configure +++ b/Configure @@ -311,6 +311,7 @@ my @disablables = ( "md2", "md4", "mdc2", + "msan", "multiblock", "nextprotoneg", "ocb", @@ -369,6 +370,7 @@ our %disabled = ( # "what" => "comment" "fuzz-libfuzzer" => "default", "fuzz-afl" => "default", "md2" => "default", + "msan" => "default", "rc5" => "default", "sctp" => "default", "ssl-trace" => "default", @@ -439,6 +441,8 @@ my @disable_cascades = ( "apps" => [ "tests" ], "comp" => [ "zlib" ], sub { !$disabled{"unit-test"} } => [ "heartbeats" ], + + sub { !$disabled{"msan"} } => [ "asm" ], ); # Avoid protocol support holes. Also disable all versions below N, if version @@ -1063,8 +1067,12 @@ unless ($disabled{ubsan}) { $config{cflags} .= "-fsanitize=undefined -fno-sanitize-recover=all "; } +unless ($disabled{msan}) { + $config{cflags} .= "-fsanitize=memory "; +} + unless ($disabled{"fuzz-libfuzzer"} && $disabled{"fuzz-afl"} - && $disabled{asan} && $disabled{ubsan}) { + && $disabled{asan} && $disabled{ubsan} && $disabled{msan}) { $config{cflags} .= "-fno-omit-frame-pointer -g "; } # -- 2.40.0