From 1aae9bd170883805f2e7975cd3dbd2502b083cc1 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Mon, 29 Apr 2013 14:07:06 -0700 Subject: strncpy: implement _FORTIFY_SOURCE=2 Add support for fortify source level 2 to strncpy. This will enable detection of more areas where strncpy is used inappropriately. For example, this would have detected bug 8727221. Move the fortify_source tests out of string_test.cpp, and put it into fortify1_test.cpp. Create a new fortify2_test.cpp file, which copies all the tests in fortify1_test.cpp, and adds fortify_source level 2 specific tests. Change-Id: Ica0fba531cc7d0609e4f23b8176739b13f7f7a83 --- tests/string_test.cpp | 33 --------------------------------- 1 file changed, 33 deletions(-) (limited to 'tests/string_test.cpp') diff --git a/tests/string_test.cpp b/tests/string_test.cpp index 1720058e6..eb10c161b 100644 --- a/tests/string_test.cpp +++ b/tests/string_test.cpp @@ -306,39 +306,6 @@ TEST(string, strcpy) { } -#if __BIONIC__ -// We have to say "DeathTest" here so gtest knows to run this test (which exits) -// in its own process. -TEST(string_DeathTest, strcpy_fortified) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - char buf[10]; - char *orig = strdup("0123456789"); - ASSERT_EXIT(strcpy(buf, orig), testing::KilledBySignal(SIGSEGV), ""); - free(orig); -} - -TEST(string_DeathTest, strlen_fortified) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - char buf[10]; - memcpy(buf, "0123456789", sizeof(buf)); - ASSERT_EXIT(printf("%d", strlen(buf)), testing::KilledBySignal(SIGSEGV), ""); -} - -TEST(string_DeathTest, strchr_fortified) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - char buf[10]; - memcpy(buf, "0123456789", sizeof(buf)); - ASSERT_EXIT(printf("%s", strchr(buf, 'a')), testing::KilledBySignal(SIGSEGV), ""); -} - -TEST(string_DeathTest, strrchr_fortified) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - char buf[10]; - memcpy(buf, "0123456789", sizeof(buf)); - ASSERT_EXIT(printf("%s", strrchr(buf, 'a')), testing::KilledBySignal(SIGSEGV), ""); -} -#endif - #if __BIONIC__ TEST(string, strlcat) { StringTestState state(SMALL); -- cgit v1.2.3