diff --git a/lib/libc/tests/secure/fortify_uio_test.c b/lib/libc/tests/secure/fortify_uio_test.c index 46b46ed2f7d..b1b51eff824 100644 --- a/lib/libc/tests/secure/fortify_uio_test.c +++ b/lib/libc/tests/secure/fortify_uio_test.c @@ -179,6 +179,8 @@ ATF_TC_BODY(readv_before_end, tc) const size_t __len = 2 - 1; const size_t __idx __unused = __len - 1; + replace_stdin(); + readv(STDIN_FILENO, __stack.__buf, __len); #undef BUF @@ -200,6 +202,8 @@ ATF_TC_BODY(readv_end, tc) const size_t __len = 2; const size_t __idx __unused = __len - 1; + replace_stdin(); + readv(STDIN_FILENO, __stack.__buf, __len); #undef BUF @@ -230,6 +234,8 @@ ATF_TC_BODY(readv_after_end, tc) /* Child */ disable_coredumps(); + replace_stdin(); + readv(STDIN_FILENO, __stack.__buf, __len); _exit(EX_SOFTWARE); /* Should have aborted. */ @@ -274,6 +280,7 @@ ATF_TC_BODY(readv_heap_before_end, tc) const size_t __idx __unused = __len - 1; __stack.__buf = malloc(__bufsz); + replace_stdin(); readv(STDIN_FILENO, __stack.__buf, __len); #undef BUF @@ -297,6 +304,7 @@ ATF_TC_BODY(readv_heap_end, tc) const size_t __idx __unused = __len - 1; __stack.__buf = malloc(__bufsz); + replace_stdin(); readv(STDIN_FILENO, __stack.__buf, __len); #undef BUF @@ -329,6 +337,7 @@ ATF_TC_BODY(readv_heap_after_end, tc) /* Child */ disable_coredumps(); __stack.__buf = malloc(__bufsz); + replace_stdin(); readv(STDIN_FILENO, __stack.__buf, __len); _exit(EX_SOFTWARE); /* Should have aborted. */ @@ -542,6 +551,8 @@ ATF_TC_BODY(preadv_before_end, tc) const size_t __len = 2 - 1; const size_t __idx __unused = __len - 1; + replace_stdin(); + preadv(STDIN_FILENO, __stack.__buf, __len, 0); #undef BUF @@ -563,6 +574,8 @@ ATF_TC_BODY(preadv_end, tc) const size_t __len = 2; const size_t __idx __unused = __len - 1; + replace_stdin(); + preadv(STDIN_FILENO, __stack.__buf, __len, 0); #undef BUF @@ -593,6 +606,8 @@ ATF_TC_BODY(preadv_after_end, tc) /* Child */ disable_coredumps(); + replace_stdin(); + preadv(STDIN_FILENO, __stack.__buf, __len, 0); _exit(EX_SOFTWARE); /* Should have aborted. */ @@ -637,6 +652,7 @@ ATF_TC_BODY(preadv_heap_before_end, tc) const size_t __idx __unused = __len - 1; __stack.__buf = malloc(__bufsz); + replace_stdin(); preadv(STDIN_FILENO, __stack.__buf, __len, 0); #undef BUF @@ -660,6 +676,7 @@ ATF_TC_BODY(preadv_heap_end, tc) const size_t __idx __unused = __len - 1; __stack.__buf = malloc(__bufsz); + replace_stdin(); preadv(STDIN_FILENO, __stack.__buf, __len, 0); #undef BUF @@ -692,6 +709,7 @@ ATF_TC_BODY(preadv_heap_after_end, tc) /* Child */ disable_coredumps(); __stack.__buf = malloc(__bufsz); + replace_stdin(); preadv(STDIN_FILENO, __stack.__buf, __len, 0); _exit(EX_SOFTWARE); /* Should have aborted. */ diff --git a/lib/libc/tests/secure/generate-fortify-tests.lua b/lib/libc/tests/secure/generate-fortify-tests.lua index c9cd9353a86..ef34fb8513c 100755 --- a/lib/libc/tests/secure/generate-fortify-tests.lua +++ b/lib/libc/tests/secure/generate-fortify-tests.lua @@ -411,6 +411,7 @@ local all_tests = { "__buf", "__len", }, + init = stdio_init, }, { func = "readv", @@ -435,6 +436,7 @@ local all_tests = { "__len", "0", }, + init = stdio_init, }, { func = "preadv",