From 3cd4cac2cedd960e76bb55ce899f8d42bf4dfbfc Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Wed, 19 Jun 2013 10:25:44 -0700 Subject: [PATCH] Fix FORTIFY_SOURCE unittests. The compiler is too damn smart. Change-Id: Ibef3ef41ec99f8cd9c06f1dbca535819f9a08197 --- tests/fortify1_test_clang.cpp | 8 ++++++-- tests/fortify2_test_clang.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/fortify1_test_clang.cpp b/tests/fortify1_test_clang.cpp index 2a1b8a7d1..0c0fb2bef 100644 --- a/tests/fortify1_test_clang.cpp +++ b/tests/fortify1_test_clang.cpp @@ -289,10 +289,14 @@ TEST(Fortify1_Clang, strcat2) { __BIONIC_FORTIFY_INLINE size_t test_fortify_inline(char* buf) { - return __bos(buf); + return __bos(buf); } TEST(Fortify1_Clang, fortify_inline) { char buf[1024]; - ASSERT_EQ(test_fortify_inline(buf), sizeof(buf)); + // no-op. Prints nothing. Needed to prevent the compiler + // from optimizing out buf. + buf[0] = '\0'; + printf("%s", buf); + ASSERT_EQ(sizeof(buf), test_fortify_inline(buf)); } diff --git a/tests/fortify2_test_clang.cpp b/tests/fortify2_test_clang.cpp index 2abf85a94..d8a0ba6d8 100644 --- a/tests/fortify2_test_clang.cpp +++ b/tests/fortify2_test_clang.cpp @@ -162,10 +162,14 @@ TEST(Fortify2_Clang_DeathTest, strncpy_fortified) { __BIONIC_FORTIFY_INLINE size_t test_fortify2_inline(char* buf) { - return __bos(buf); + return __bos(buf); } TEST(Fortify2_Clang, fortify_inline) { char buf[1024]; - ASSERT_EQ(test_fortify2_inline(buf), sizeof(buf)); + // no-op. Prints nothing. Needed to prevent the compiler + // from optimizing out buf. + buf[0] = '\0'; + printf("%s", buf); + ASSERT_EQ(sizeof(buf), test_fortify2_inline(buf)); }