diff options
Diffstat (limited to 'lib/libc/tests/secure/fortify_stdio_test.c')
-rw-r--r-- | lib/libc/tests/secure/fortify_stdio_test.c | 226 |
1 files changed, 181 insertions, 45 deletions
diff --git a/lib/libc/tests/secure/fortify_stdio_test.c b/lib/libc/tests/secure/fortify_stdio_test.c index a8764d646de2..17842393a740 100644 --- a/lib/libc/tests/secure/fortify_stdio_test.c +++ b/lib/libc/tests/secure/fortify_stdio_test.c @@ -4,6 +4,7 @@ #define TMPFILE_SIZE (1024 * 32) #include <sys/param.h> +#include <sys/jail.h> #include <sys/random.h> #include <sys/resource.h> #include <sys/select.h> @@ -162,7 +163,10 @@ replace_stdin(void) close(fd); } -ATF_TC_WITHOUT_HEAD(ctermid_before_end); +ATF_TC(ctermid_before_end); +ATF_TC_HEAD(ctermid_before_end, tc) +{ +} ATF_TC_BODY(ctermid_before_end, tc) { #define BUF &__stack.__buf @@ -180,7 +184,10 @@ ATF_TC_BODY(ctermid_before_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_end); +ATF_TC(ctermid_end); +ATF_TC_HEAD(ctermid_end, tc) +{ +} ATF_TC_BODY(ctermid_end, tc) { #define BUF &__stack.__buf @@ -198,7 +205,10 @@ ATF_TC_BODY(ctermid_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_heap_before_end); +ATF_TC(ctermid_heap_before_end); +ATF_TC_HEAD(ctermid_heap_before_end, tc) +{ +} ATF_TC_BODY(ctermid_heap_before_end, tc) { #define BUF __stack.__buf @@ -218,7 +228,10 @@ ATF_TC_BODY(ctermid_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_heap_end); +ATF_TC(ctermid_heap_end); +ATF_TC_HEAD(ctermid_heap_end, tc) +{ +} ATF_TC_BODY(ctermid_heap_end, tc) { #define BUF __stack.__buf @@ -238,7 +251,10 @@ ATF_TC_BODY(ctermid_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_heap_after_end); +ATF_TC(ctermid_heap_after_end); +ATF_TC_HEAD(ctermid_heap_after_end, tc) +{ +} ATF_TC_BODY(ctermid_heap_after_end, tc) { #define BUF __stack.__buf @@ -289,7 +305,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(ctermid_r_before_end); +ATF_TC(ctermid_r_before_end); +ATF_TC_HEAD(ctermid_r_before_end, tc) +{ +} ATF_TC_BODY(ctermid_r_before_end, tc) { #define BUF &__stack.__buf @@ -307,7 +326,10 @@ ATF_TC_BODY(ctermid_r_before_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_r_end); +ATF_TC(ctermid_r_end); +ATF_TC_HEAD(ctermid_r_end, tc) +{ +} ATF_TC_BODY(ctermid_r_end, tc) { #define BUF &__stack.__buf @@ -325,7 +347,10 @@ ATF_TC_BODY(ctermid_r_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_r_heap_before_end); +ATF_TC(ctermid_r_heap_before_end); +ATF_TC_HEAD(ctermid_r_heap_before_end, tc) +{ +} ATF_TC_BODY(ctermid_r_heap_before_end, tc) { #define BUF __stack.__buf @@ -345,7 +370,10 @@ ATF_TC_BODY(ctermid_r_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_r_heap_end); +ATF_TC(ctermid_r_heap_end); +ATF_TC_HEAD(ctermid_r_heap_end, tc) +{ +} ATF_TC_BODY(ctermid_r_heap_end, tc) { #define BUF __stack.__buf @@ -365,7 +393,10 @@ ATF_TC_BODY(ctermid_r_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(ctermid_r_heap_after_end); +ATF_TC(ctermid_r_heap_after_end); +ATF_TC_HEAD(ctermid_r_heap_after_end, tc) +{ +} ATF_TC_BODY(ctermid_r_heap_after_end, tc) { #define BUF __stack.__buf @@ -416,7 +447,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(fread_before_end); +ATF_TC(fread_before_end); +ATF_TC_HEAD(fread_before_end, tc) +{ +} ATF_TC_BODY(fread_before_end, tc) { #define BUF &__stack.__buf @@ -436,7 +470,10 @@ ATF_TC_BODY(fread_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_end); +ATF_TC(fread_end); +ATF_TC_HEAD(fread_end, tc) +{ +} ATF_TC_BODY(fread_end, tc) { #define BUF &__stack.__buf @@ -456,7 +493,10 @@ ATF_TC_BODY(fread_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_heap_before_end); +ATF_TC(fread_heap_before_end); +ATF_TC_HEAD(fread_heap_before_end, tc) +{ +} ATF_TC_BODY(fread_heap_before_end, tc) { #define BUF __stack.__buf @@ -477,7 +517,10 @@ ATF_TC_BODY(fread_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_heap_end); +ATF_TC(fread_heap_end); +ATF_TC_HEAD(fread_heap_end, tc) +{ +} ATF_TC_BODY(fread_heap_end, tc) { #define BUF __stack.__buf @@ -498,7 +541,10 @@ ATF_TC_BODY(fread_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_heap_after_end); +ATF_TC(fread_heap_after_end); +ATF_TC_HEAD(fread_heap_after_end, tc) +{ +} ATF_TC_BODY(fread_heap_after_end, tc) { #define BUF __stack.__buf @@ -550,7 +596,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(fread_unlocked_before_end); +ATF_TC(fread_unlocked_before_end); +ATF_TC_HEAD(fread_unlocked_before_end, tc) +{ +} ATF_TC_BODY(fread_unlocked_before_end, tc) { #define BUF &__stack.__buf @@ -570,7 +619,10 @@ ATF_TC_BODY(fread_unlocked_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_unlocked_end); +ATF_TC(fread_unlocked_end); +ATF_TC_HEAD(fread_unlocked_end, tc) +{ +} ATF_TC_BODY(fread_unlocked_end, tc) { #define BUF &__stack.__buf @@ -590,7 +642,10 @@ ATF_TC_BODY(fread_unlocked_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_unlocked_heap_before_end); +ATF_TC(fread_unlocked_heap_before_end); +ATF_TC_HEAD(fread_unlocked_heap_before_end, tc) +{ +} ATF_TC_BODY(fread_unlocked_heap_before_end, tc) { #define BUF __stack.__buf @@ -611,7 +666,10 @@ ATF_TC_BODY(fread_unlocked_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_unlocked_heap_end); +ATF_TC(fread_unlocked_heap_end); +ATF_TC_HEAD(fread_unlocked_heap_end, tc) +{ +} ATF_TC_BODY(fread_unlocked_heap_end, tc) { #define BUF __stack.__buf @@ -632,7 +690,10 @@ ATF_TC_BODY(fread_unlocked_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(fread_unlocked_heap_after_end); +ATF_TC(fread_unlocked_heap_after_end); +ATF_TC_HEAD(fread_unlocked_heap_after_end, tc) +{ +} ATF_TC_BODY(fread_unlocked_heap_after_end, tc) { #define BUF __stack.__buf @@ -684,7 +745,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(gets_s_before_end); +ATF_TC(gets_s_before_end); +ATF_TC_HEAD(gets_s_before_end, tc) +{ +} ATF_TC_BODY(gets_s_before_end, tc) { #define BUF &__stack.__buf @@ -704,7 +768,10 @@ ATF_TC_BODY(gets_s_before_end, tc) } -ATF_TC_WITHOUT_HEAD(gets_s_end); +ATF_TC(gets_s_end); +ATF_TC_HEAD(gets_s_end, tc) +{ +} ATF_TC_BODY(gets_s_end, tc) { #define BUF &__stack.__buf @@ -724,7 +791,10 @@ ATF_TC_BODY(gets_s_end, tc) } -ATF_TC_WITHOUT_HEAD(gets_s_heap_before_end); +ATF_TC(gets_s_heap_before_end); +ATF_TC_HEAD(gets_s_heap_before_end, tc) +{ +} ATF_TC_BODY(gets_s_heap_before_end, tc) { #define BUF __stack.__buf @@ -745,7 +815,10 @@ ATF_TC_BODY(gets_s_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(gets_s_heap_end); +ATF_TC(gets_s_heap_end); +ATF_TC_HEAD(gets_s_heap_end, tc) +{ +} ATF_TC_BODY(gets_s_heap_end, tc) { #define BUF __stack.__buf @@ -766,7 +839,10 @@ ATF_TC_BODY(gets_s_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(gets_s_heap_after_end); +ATF_TC(gets_s_heap_after_end); +ATF_TC_HEAD(gets_s_heap_after_end, tc) +{ +} ATF_TC_BODY(gets_s_heap_after_end, tc) { #define BUF __stack.__buf @@ -818,7 +894,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(sprintf_before_end); +ATF_TC(sprintf_before_end); +ATF_TC_HEAD(sprintf_before_end, tc) +{ +} ATF_TC_BODY(sprintf_before_end, tc) { #define BUF &__stack.__buf @@ -840,7 +919,10 @@ ATF_TC_BODY(sprintf_before_end, tc) } -ATF_TC_WITHOUT_HEAD(sprintf_end); +ATF_TC(sprintf_end); +ATF_TC_HEAD(sprintf_end, tc) +{ +} ATF_TC_BODY(sprintf_end, tc) { #define BUF &__stack.__buf @@ -862,7 +944,10 @@ ATF_TC_BODY(sprintf_end, tc) } -ATF_TC_WITHOUT_HEAD(sprintf_heap_before_end); +ATF_TC(sprintf_heap_before_end); +ATF_TC_HEAD(sprintf_heap_before_end, tc) +{ +} ATF_TC_BODY(sprintf_heap_before_end, tc) { #define BUF __stack.__buf @@ -885,7 +970,10 @@ ATF_TC_BODY(sprintf_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(sprintf_heap_end); +ATF_TC(sprintf_heap_end); +ATF_TC_HEAD(sprintf_heap_end, tc) +{ +} ATF_TC_BODY(sprintf_heap_end, tc) { #define BUF __stack.__buf @@ -908,7 +996,10 @@ ATF_TC_BODY(sprintf_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(sprintf_heap_after_end); +ATF_TC(sprintf_heap_after_end); +ATF_TC_HEAD(sprintf_heap_after_end, tc) +{ +} ATF_TC_BODY(sprintf_heap_after_end, tc) { #define BUF __stack.__buf @@ -962,7 +1053,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(snprintf_before_end); +ATF_TC(snprintf_before_end); +ATF_TC_HEAD(snprintf_before_end, tc) +{ +} ATF_TC_BODY(snprintf_before_end, tc) { #define BUF &__stack.__buf @@ -984,7 +1078,10 @@ ATF_TC_BODY(snprintf_before_end, tc) } -ATF_TC_WITHOUT_HEAD(snprintf_end); +ATF_TC(snprintf_end); +ATF_TC_HEAD(snprintf_end, tc) +{ +} ATF_TC_BODY(snprintf_end, tc) { #define BUF &__stack.__buf @@ -1006,7 +1103,10 @@ ATF_TC_BODY(snprintf_end, tc) } -ATF_TC_WITHOUT_HEAD(snprintf_heap_before_end); +ATF_TC(snprintf_heap_before_end); +ATF_TC_HEAD(snprintf_heap_before_end, tc) +{ +} ATF_TC_BODY(snprintf_heap_before_end, tc) { #define BUF __stack.__buf @@ -1029,7 +1129,10 @@ ATF_TC_BODY(snprintf_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(snprintf_heap_end); +ATF_TC(snprintf_heap_end); +ATF_TC_HEAD(snprintf_heap_end, tc) +{ +} ATF_TC_BODY(snprintf_heap_end, tc) { #define BUF __stack.__buf @@ -1052,7 +1155,10 @@ ATF_TC_BODY(snprintf_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(snprintf_heap_after_end); +ATF_TC(snprintf_heap_after_end); +ATF_TC_HEAD(snprintf_heap_after_end, tc) +{ +} ATF_TC_BODY(snprintf_heap_after_end, tc) { #define BUF __stack.__buf @@ -1106,7 +1212,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(tmpnam_before_end); +ATF_TC(tmpnam_before_end); +ATF_TC_HEAD(tmpnam_before_end, tc) +{ +} ATF_TC_BODY(tmpnam_before_end, tc) { #define BUF &__stack.__buf @@ -1124,7 +1233,10 @@ ATF_TC_BODY(tmpnam_before_end, tc) } -ATF_TC_WITHOUT_HEAD(tmpnam_end); +ATF_TC(tmpnam_end); +ATF_TC_HEAD(tmpnam_end, tc) +{ +} ATF_TC_BODY(tmpnam_end, tc) { #define BUF &__stack.__buf @@ -1142,7 +1254,10 @@ ATF_TC_BODY(tmpnam_end, tc) } -ATF_TC_WITHOUT_HEAD(tmpnam_heap_before_end); +ATF_TC(tmpnam_heap_before_end); +ATF_TC_HEAD(tmpnam_heap_before_end, tc) +{ +} ATF_TC_BODY(tmpnam_heap_before_end, tc) { #define BUF __stack.__buf @@ -1162,7 +1277,10 @@ ATF_TC_BODY(tmpnam_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(tmpnam_heap_end); +ATF_TC(tmpnam_heap_end); +ATF_TC_HEAD(tmpnam_heap_end, tc) +{ +} ATF_TC_BODY(tmpnam_heap_end, tc) { #define BUF __stack.__buf @@ -1182,7 +1300,10 @@ ATF_TC_BODY(tmpnam_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(tmpnam_heap_after_end); +ATF_TC(tmpnam_heap_after_end); +ATF_TC_HEAD(tmpnam_heap_after_end, tc) +{ +} ATF_TC_BODY(tmpnam_heap_after_end, tc) { #define BUF __stack.__buf @@ -1233,7 +1354,10 @@ monitor: } -ATF_TC_WITHOUT_HEAD(fgets_before_end); +ATF_TC(fgets_before_end); +ATF_TC_HEAD(fgets_before_end, tc) +{ +} ATF_TC_BODY(fgets_before_end, tc) { #define BUF &__stack.__buf @@ -1254,7 +1378,10 @@ ATF_TC_BODY(fgets_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fgets_end); +ATF_TC(fgets_end); +ATF_TC_HEAD(fgets_end, tc) +{ +} ATF_TC_BODY(fgets_end, tc) { #define BUF &__stack.__buf @@ -1275,7 +1402,10 @@ ATF_TC_BODY(fgets_end, tc) } -ATF_TC_WITHOUT_HEAD(fgets_heap_before_end); +ATF_TC(fgets_heap_before_end); +ATF_TC_HEAD(fgets_heap_before_end, tc) +{ +} ATF_TC_BODY(fgets_heap_before_end, tc) { #define BUF __stack.__buf @@ -1297,7 +1427,10 @@ ATF_TC_BODY(fgets_heap_before_end, tc) } -ATF_TC_WITHOUT_HEAD(fgets_heap_end); +ATF_TC(fgets_heap_end); +ATF_TC_HEAD(fgets_heap_end, tc) +{ +} ATF_TC_BODY(fgets_heap_end, tc) { #define BUF __stack.__buf @@ -1319,7 +1452,10 @@ ATF_TC_BODY(fgets_heap_end, tc) } -ATF_TC_WITHOUT_HEAD(fgets_heap_after_end); +ATF_TC(fgets_heap_after_end); +ATF_TC_HEAD(fgets_heap_after_end, tc) +{ +} ATF_TC_BODY(fgets_heap_after_end, tc) { #define BUF __stack.__buf |